1

これは、次の質問の補足です:モデルをディレクティブに取得するにはどうすればよいですか?

ディレクティブはデータを表示していますが、ng-click は何もしません。

私の部分的なページは次のようになります。

<div>selected user:{{selectedUser.UserName}} </div>

<div user-list data-users="users"></div>

私のディレクティブは次のようになります。

tsUui.directive('userList', function(){
    return{
        restrict: 'A',
        template: '<table>'+
                    '<tr>'+
                        '<th>User Name</th>'+
                        '<th>First Name</th>'+
                        '<th>Last Name</th>'+
                        '<th>Email Address</th>'+
                    '</tr>'+
                    '<tr ng-repeat="user in users" ng-click="selectUser(user)">'+
                        '<td>{{user.UserName}}</td>'+
                        '<td>{{user.FirstName}}</td>'+
                        '<td>{{user.LastName}}</td>'+
                        '<td>{{user.Email}}</td>'+
                    '</tr>'+
                '</table>',
        scope:{
                selectedUser: '=',
                users: '='
        },
        link: function (scope, elem, attrs){
            scope.selectUser = function(user){
                console.log("hi");
                selectedUser=user;
            };
        }
    }
});

データは正しく表示されていますが、行をクリックしても何も起こりません。コンソール ログはなく、選択したユーザーは変更されません...何も起こりません。私は何を間違っていますか?

編集:コンソールはそれを記録していますが、選択されたユーザーバインディングは変更されません...

4

1 に答える 1

0

どうやら、次のようにする必要があります。

scope.selectedUser=user;

また、パーシャルをこれに変更しました:

<div>selected user:{{selection.UserName}} </div>

<div user-list data-users="users" selected-user="selection"></div>
于 2013-10-16T23:35:23.157 に答える