請參閱例如hereAngularjs指令:隔離範圍和ATTRS
foodMeApp.directive('fmRating', function() {
return {
restrict: 'E',
scope: {
symbol: '@',
max: '@',
readonly: '@'
},
require: 'ngModel',
link: function(scope, element, attrs, ngModel) {
attrs.max = scope.max = parseInt(scope.max || 5, 10);
...
角需要symbol
,max
,readonly
在分離的範圍對象從父範圍訪問它來限定。
它是用來here
<fm-rating ng-model="$parent.restaurant.price" symbol="$" readonly="true"></fm-rating>
那麼,什麼是attrs
的目的是什麼?無法訪問通過attrs
傳遞的所有屬性。爲什麼不能訪問max的最大值爲attrs.max
而不是scope.max
爲什麼要返回像attrs.max = scope.max
?
由於這個應用程序是由Angular作者編寫的,我期待一個理由。
謝謝。
請查看此處http:///stackoverflow.com/questions/14050195/what-is-the-difference-between-and-in-directive-scope/14063373#14063373 –