См. пример здесь
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);
...
Angular требуется symbol
, max
, readonly
для определения в изолированном объекте scope для доступа к нему из родительской области.
используется здесь
<fm-rating ng-model="$parent.restaurant.price" symbol="$" readonly="true"></fm-rating>
Итак, какова цель attrs
? Невозможно получить доступ ко всем атрибутам, прошедшим через attrs
. Почему невозможно получить значение max как attrs.max
вместо scope.max
Зачем назначать назад, например attrs.max = scope.max
?
Поскольку это приложение написано авторами Angular, я ожидаю причину.
спасибо.