Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
scope:{
localVar1:"@", /*localVar1:"@localVar1" */
localVar2:"=", /*localVar2:"@localVar2" */
localVar3:"&" /*localVar3:"@localVar3" */
}
<div ng-app="helloHabrahabr">
<span habra-habr="hello" local-var1="Hello Habr!" local-var2="Foo" ></span>
</div>
<div ng-app="helloHabrahabr">
<span habra-habr="hello" localVar1="Hello Habr!" localVar2="Foo" ></span>
</div>
<script id="SomeTemplate" type="text/ng-template">
...
</script>
templateUrl: 'SomeTemplate'
<div ng-app="helloHabrahabr">
<span habra-habr="hello" localVar1="Hello Habr!" localVar2="Foo" ></span>
</div>
<div ng-app="helloHabrahabr">
<span habra-habr="hello" localVar1="Hello Habr!" localVar2="Foo" ></span>
</div>
<div ng-app="helloHabrahabr">
<span habra-habr="hello" localVar1="Hello Habr!" localVar2="Foo" ></span>
</div>
components.directive('myDir', function ($compile) {
return {
link: function ( scope,element, attrs) {
var tmpl = '<div ng-app="helloHabrahabr">'+
'<span habra-habr="hello" localVar1="Hello Habr!" localVar2="Foo" ></span>'+
'</div>'+
'<div ng-app="helloHabrahabr">'+
'<span habra-habr="hello" localVar1="Hello Habr!" localVar2="Foo" ></span>'+
'</div>'
var newElement = angular.element(tmpl)
$compile(newElement)(scope)
element.replaceWith(newElement)
}
})
template:"<input ng-model='hello'>{{hello}}"
<span habra-habr some-attr="hello= a+b"></span>
<form ng-hide="isLoading" ng-submit="isLoading = true">
...
<input type="submit">
</form>
<div ng-show="isLoading">Sending data on server...</div>
Касательно логики в темплейте...
… куда удобнее держать их в отедельных файлах и собирать в один JS файл на этапе сборки проекта. А для разработки даже можно ничего не собирать...
Интересно, что бы вы сказали о React)
В этом примере имена директивы в html и в js не согласованы между собой (habra-habr-template и habraHabr). Пример не работает. Опечатка?
Ссылка к примеру для префикса "=" ведет на пример для префикса "@".
Директивы в Angularjs для начинающих. Часть 2