javascript - Angular Material - 如何将自定义指令属性附加到 md-list-item 元素?

标签 javascript angularjs angularjs-directive angularjs-material

我正在尝试将自定义指令附加到 ng-repeat 中的项目使用 md-list 创建的列表/md-list-item s,但由于 Angular Material 结构的方式 md-list-item元素在 DOM 中编译时,为 ng-click 嵌套一个绝对定位的按钮功能,我无法找到一种方法将指令属性实际附加到这些,因为我可以使用普通的 md-button或类似的。

我已经在其他元素上测试了该指令,没有问题,并尝试将其直接附加到 md-list-item ,但这显然行不通。

在 JSFiddle 中演示:http://jsfiddle.net/2f6qscrp/513/ .

HTML:

<md-list-item view-employee employee="employee" ng-click="viewEmployee($index)" ng-repeat="employee in main.employees">

最佳答案

只需像这样将事件监听器添加到按钮标签

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);
            })
        }
    }
})

我也更新了你的 fiddle

http://jsfiddle.net/2f6qscrp/514/

关于javascript - Angular Material - 如何将自定义指令属性附加到 md-list-item 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904694/

相关文章:

Javascript 类与对象,优缺点?

javascript - Uncaught ReferenceError : Excel is not defined

angularjs - 通过模板传递值

javascript - 如何使用双递归在 AngularJS 中创建菜单? (功能+模板)

javascript - element.find 不适用于 ng-switch 中的嵌套元素

javascript - AngularJS 指令 - 插值时出错

javascript - 如何使用事件监听器通过 javascript 更改背景

javascript - 通过ajax加载图像时出现无限循环

javascript - 带有自定义指令的表行

javascript - 在页面加载时将 css 应用于所有 DIV 元素