angularJs を使用してカスタム タグを作成しようとしています。このタグには、 という名前の属性がありますdata
。data
このように値を取得します<skillviz data="{{user.info}}"></skillviz>
。user.info
JSON オブジェクトです。しかしdata
、ディレクティブ定義でこの属性にアクセスしようとすると、 undefined
. これを行う正しい方法は何ですか?
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>");
});
}
}
});
警告ボックスがポップアップし、未定義と表示されます