我是angularjs的新手,我想知道如何获取指令属性并将其作为我的Directive点击事件的参数传递,
这是我的HTML指令,<a>
标签及其属性是动态创建的。我想要获取并作为参数传递的属性是id
和status
<a href='#' class='article-link' id='"+b.id+"' status='"+articleStatus+"' display-article-div-directive>
这是我的Angular Directive
myApp.directive("displayArticleDivDirective", function($parse,$rootScope) {
return function($scope, $element, $attrs) {
var id = $parse($attrs.id)($scope);
var status = $parse($attrs.status)($scope);
var clickingCallback = function(id,status) {
console.log('stat: '+status);
/* status and id is undefined here */
};
$element.bind('click', clickingCallback);
}
});
我希望你能在这里粘贴一份工作样本,非常感谢,
答案 0 :(得分:1)
在指令上使用作用域来启用数据传入,而不是解析元素。像这样:
app.directive("displayArticleDivDirective", function() {
return {
scope: {
id: "=",
status: "="
},
link: function(scope, element, attrs) {
var clickingCallback = function() {
console.log('stat: ' + scope.status);
console.log('id: ' + scope.id);
};
element.bind('click', clickingCallback);
}
};
});
HTML:
<a href='#' class='article-link' id='"+b.id+"' status='"+articleStatus+"' display-article-div-directive>Test </a>