0
我正在學習AngularJS中的指令,並發現在幾個示例中,添加一個隔離範圍(@,=或&)。它們有時不僅添加了隔離範圍,還添加了後面的ngModel名稱。即:「@name」而不是「@」。孤立範圍+綁定名稱和孤立範圍之間的區別僅在AngularJS
所以,有什麼區別:
myApp.directive('zippy', function() {
return {
restrict: "E",
transclude: true,
replace: true,
scope: {
name: "@" // <----
},
template: "<div>{{name}}<div ng-transclude></div></div>",
link: function(scope, element, attrs) {
console.log(scope.name);
}
}
});
而且這樣的:
myApp.directive('zippy', function() {
return {
restrict: "E",
transclude: true,
replace: true,
scope: {
name: "@name" // <----
},
template: "<div>{{name}}<div ng-transclude></div></div>",
link: function(scope, element, attrs) {
console.log(scope.name);
}
}
});
Ohhhh我知道了...讓我改述一下,如果不是名稱,我在範圍中獲得了「customerName」,那麼我應該把範圍:{customerName:'@name'},對不對?但由於scope屬性與html「name」中的指令完全相同,所以我不需要添加「@name」,我可以直接使用「@」:) – user3078876