У меня есть данные в $scope
, в соответствии с объемом classNames
count, мне нужно создать элементы на странице с различными данными из scope
. как это сделать?Как создать несколько экземпляров `directive` с разными данными в нем
Я пытаюсь добавить еще номер directive
, но я вижу только один выход. и я не могу передать данные $scope
.
Каков правильный способ сделать это?
Вот моя попытка:
<div class="wrapper" ng-app="myApp">
<div class="helloWorld" ng-controller="hello">
<ul>
<li ng-repeat="item in items">
{{item.name}}
</li>
</ul>
<hello-world/> //added multiple times
<hello-world/>
<hello-world/>
<hello-world/>
<hello-world/>
</div>
</div>
var app = angular.module('myApp', []);
app.controller('hello', function ($scope) {
$scope.items = [
{name:'name1', className:'green'},
{name:'name2', className:'blue'},
{name:'name3', className:'brown'},
{name:'name4', className:'yellow'},
{name:'name5', className:'red'}
];
});
app.directive('helloWorld', function() {
return {
restrict: 'AE',
replace: 'true',
template: '<h3 class="{item.className}">Hello World!! from color of {{item.className}}</h3>',
scope: {
className: '@'
},
link : function ($scope, elem, attr) {
}
}
});
любой может помочь мне понять концепцию и создать несколько экземпляров директивы здесь?
Заранее спасибо.
Ok, как отобразить имена цветов Соответственно, – 3gwebtrain
Вы хотите перебирать 'hello-world' несколько раз в цикле и связывать цвет с каждым из них? – dfsq
Да, точно. а также я хотел бы добавить разные значения каждого из них. каждый из них должен добавить событие click. – 3gwebtrain