我正在尝试使用angularJs创建一个自定义标记。该标签有一个名为data
的属性。 data
获得像这样的值<skillviz data="{{user.info}}"></skillviz>
。 user.info
是一个JSON对象。但是当我尝试在我的指令定义中访问此data
属性时,我得到undefined
。什么是正确的方法来做到这一点?如何在angularjs中获取自定义标签的属性值?
HTML代码
<div id="info-box" ng-repeat="user in users | orderBy:orderProp">
<div id="skill-block">
<skillviz height="50" data="{{user.skills}}"></skillviz>
</div>
</div>
users
是JSON类型的对象,在控制器中声明。所以基本上users
将是
{"first_name": "Tifanny",
"last_name": "Maxwell",
"skills": [
{"name": "Java", "score": 4.8, "color" : "red"},
{"name": "C++", "score": 4.0, "color" : "blue"},
]
},
services.js
angular.module('yott', []).directive('skillviz', function() {
return {
restrict: 'E',
link: function (scope, element, attrs) {
element.html("<script>alert(" + attrs['data'] + ")</script>");
});
}
}
});
警告框弹出一个列表(阵列)说不确定
我只是改变了'element.html( ““);''到警报(ATTRS [ '数据']);',那么它为我工作。 http://plnkr.co/k7VCGMpYISBkm5iOtTjp –