Tôi đang cố gắng tạo một thẻ tùy chỉnh bằng angularJs. Thẻ này có thuộc tính có tên là data
. data
nhận giá trị như thế này <skillviz data="{{user.info}}"></skillviz>
. user.info
là một đối tượng JSON. Nhưng khi tôi cố truy cập thuộc tính data
này trong định nghĩa chỉ thị của mình, tôi nhận được undefined
. Cách chính xác để làm điều này là gì ?Cách nhận giá trị thuộc tính của thẻ tùy chỉnh trong angularjs?
mã 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
là một đối tượng kiểu JSON, tuyên bố trong bộ điều khiển. Vì vậy, về cơ bản users
sẽ là một danh sách (mảng) của
{"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>");
});
}
}
});
hộp cảnh báo bật lên nói không xác định
Tôi chỉ thay đổi 'element.html (" ");' để 'cảnh báo (attrs ['dữ liệu']);', sau đó nó làm việc cho tôi. http://plnkr.co/k7VCGMpYISBkm5iOtTjp –