tôi thấy khá một hành vi kỳ lạ của phạm vi: true kiểu cho nội dung bên trong của một chỉ thị:nội dung bên trong Chỉ thị với cô lập và không bị cô lập phạm vi
<body ng-init="x=10">
<mydir>
{{x}}
</mydir>
</body>
nên {{x}} là nội dung bên trong, và định nghĩa chỉ là:
.directive('mydir', function() {
return {
scope: {},
link: function(scope){
scope.x = 5;
}
};
});
Khi chúng tôi xác định phạm vi như bị cô lập (phạm vi: {}), nó sẽ tạo ra {{x}} là 10, do đó sử dụng phạm vi bên ngoài. Nhưng khi chúng ta tạo phạm vi mới cho chỉ thị (phạm vi : true), nó sẽ sử dụng nó cho nội dung bên trong và đầu ra 5. Vì vậy, nó sử dụng phạm vi khác nhau cho nội dung bên trong cho 2 trường hợp. Ai đó có thể cho tôi một gợi ý/liên kết đến mã souce/hướng dẫn sử dụng cho lời giải thích cho sự không nhất quán này?
Đây là plnk để phát bằng mã.
UPD: Tôi hiểu thừa kế nguyên mẫu JavaScript là gì. Tôi biết sự khác biệt giữa các loại phạm vi chỉ thị. Và mục tiêu của tôi không phải là hiển thị 5 thay vì 10. Câu hỏi đặt ra là về khuôn mẫu bên trong trong cả hai trường hợp phải được nội suy với phạm vi gốc, không có quyền truy cập vào các thuộc tính của con/phân lập.
Xem thêm https://github.com/angular/angular.js/issues/13845#issuecomment-174953398. – gkalpak
vâng, cảm ơn. nó đã được tạo ra bởi tôi :) –