Tôi đang sử dụng thành phần v1.5, cơ bản (theo như hiểu biết của tôi mở rộng) một trình bao bọc cho các chỉ thị thực hành tốt nhất.Làm cách nào để truy cập các thuộc tính trong thành phần v1.5 của Angularjs?
thông tinThông tin thêm về 1.5 phát hành thành phần có thể được tìm thấy ở đây: http://toddmotto.com/exploring-the-angular-1-5-component-method/
Tôi đã điều sau đây:
<span>Correclty showing: {{ data.type }}</span>
<book class="details" type="data.type"></book>
Và đó là thành phần định nghĩa:
angular
.module('app')
.component('book', {
bindings: {
type: '='
},
template: function($element, $attrs) {
// Have tried A):
// console.log($attrs.type); // <- undefined
// And B):
$attrs.$observe('type', function(value) {
console.log(value); // <- undefined
});
// But.. C):
return "This works though {{ book.type }}"; // <- renders
}
});
Cả A)
và B)
biến thể trả về undefined
. C)
hiển thị chính xác.
Có cách nào để truy cập các thuộc tính trong hàm mẫu trước khi trả về chuỗi mẫu không?
tôi nhìn thấy ng-nghiêm ngặt-di, ng-chú thích, và sau đó một rất thú vị @ ngInject? Bạn có thể làm rõ làm thế nào một attr có thể là một tiêm? Tôi đang tìm một câu trả lời gợi ý cách tạo templateUrl dựa trên các phụ thuộc khác. – iJames
Nó nằm trong tài liệu Angular 1.5, trong cấu trúc thành phần, $ element và $ attrs được tiêm. Xem hướng dẫn thành phần được liên kết trong câu trả lời để biết thêm chi tiết. – Jeff
@Jeff là cần thiết để tiêm dịch vụ phần tử $? Tôi đã thử mà không tiêm nó và nó có vẻ làm việc anyway. – user449689