Si prega di vedere l'esempio heredirettiva Angularjs: portata e attrs Isolato
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);
...
esigenze angolari symbol
, max
, readonly
da definire nel campo di applicazione l'oggetto isolato di accedervi dal campo di applicazione genitore.
viene utilizzato here
<fm-rating ng-model="$parent.restaurant.price" symbol="$" readonly="true"></fm-rating>
Quindi, qual è lo scopo della attrs
? Non è possibile accedere a tutti gli attributi passati attraverso attrs
. Perché non è possibile un valore di accesso massimo pari a attrs.max
anziché scope.max
Perché assegnare come attrs.max = scope.max
?
Poiché questa app è stata scritta da autori angolari, mi aspetto un motivo.
grazie.
Dai un'occhiata qui http://stackoverflow.com/questions/14050195/what-is-the-difference-between-and-in-directive-scope/14063373#14063373 –