<md-list-item view-employee employee="employee"
ng-click="viewEmployee($index)"
ng-repeat="employee in main.employees">
<b>{{employee.id}}</b>
<span>{{employee.forename}} {{employee.surname}}</span>
</md-list-item>
を更新しました。この
angular.module('app').directive('viewEmployee', function() {
return {
restrict: 'A',
scope: {
employee: '='
},
link: function(scope, element, attrs) {
element.find('button').bind('click', function(index, employee) {
alert('viewEmployee(): ' + scope.employee.forename + ' ' + scope.employee.surname);
})
}
}
})
のようにボタンのタグにイベントリスナーを追加セット
angular.module('app').directive('viewEmployee', function() {
return {
priority: 10,
restrict: 'A',
scope: {
employee: '='
},
link: function(scope, element, attrs) {
element.bind('click', function(index, employee) {
console.log('viewEmployee(): ' + scope.employee.forename
+ ' ' + scope.employee.surname);
})
}
}
})
md-list-item
ディレクティブは要素からのクリックハンドラを削除します。md-list-item
ディレクティブの後ディレクティブは、優先順位を実行されるようにします。 md-list-item
postLinkの後にview-employee
ディレクティブのpostLinkを優先させることで、クリックハンドラは削除されず、ディレクティブは期待どおりに動作します。
DEMO on JSFiddle。
なぜdownvoteですか? –