Я не понимаю, что делает этот атрибут в этом случае:
<div my-custom-directive="what does this do?"></div>
Пример реального мира:
<div class="grid" ui-grid="gridOptionsSimple"> </div>
Это не значит передавать атрибуты функции связывания, потому что вы можете сделать это следующим образом:
<div my-custom-attribute="what does this do?" extra-attribute="123"></div>
Похоже, что он создает свойство в области видимости. Но это, насколько я знаю. Сожалею. Совсем новичок вопрос.
В случае ui-grid="gridOptionsSimple"
он передает значение gridOptionsSimple
в родительской области в область выделения сетки ui-.
Если вы посмотрите источник для директивы grid ui- (здесь: https://github.com/angular-ui/ng-grid/blob/v3.0.0-rc.22/src/js/core/directives/ui- grid.js # L196) вы увидите, что в директиве указывается, что uiGrid
области uiGrid
("ui- в змеином случае) привязано к uiGrid
('=' просто коротко для ' = uiGrid ').
return {
templateUrl: 'ui-grid/ui-grid',
scope: {
uiGrid: '='
},
replace: true,
transclude: true,
...
};
Это позволяет сетке получать все параметры и ссылки на данные в свою область действия без необходимости использования грязных и родительских контроллеров.
Вот пример, я думаю, ваш вопрос:
var app = angular.module('demo',[]);
app.directive('SampleQuilt', function() {
return {
restrict: 'E',
scope:{ extraAttribute: "@", someText: "@" }
};
});
Добавляя область действия к директиве, мы создаем "изолированную область". С помощью этого подхода область охвата может захватывать атрибуты тремя способами:
@
Записывает значение атрибута из DOM как строковое значение.=
Оценивает атрибут как свойство родительской области.&
Оценивает атрибут как метод родительской области.Вы можете прочитать больше об этом здесь:
http://onehungrymind.com/angularjs-sticky-notes-pt-2-isolated-scope/
Что касается вашего html:
sampleText
следует использовать в качестве sample-text
в html.scope
и attrs
.