我有一个模式,我想要使用两次,但具有不同的值。例如:
.directive("day", function($scope){
return {
template: '<div>{{day}}</div>'
}
}
我可以在另外两个指令中使用它,但封装'day'来查看结果:
<div>1</div>
<div>2</div>
特别是如果我想保持所有'天'的绑定价值
答案 0 :(得分:1)
您想要的是一个“隔离”范围,您可以将指令的属性从本地“隔离”范围绑定到父范围。
app.directive('day', function(){
return {
scope: {
day: '='
},
template: '<div>{{day}}</div>'
}
})
HTML
<div ng-init="day1='Thursday'; day2='Friday'">
<div day="day1"></div>
<div day="day2"></div>
</div>
结果
Thursday
Friday
有关指令范围的更多信息,请参阅AngularJS $compile API Reference -- scope。
答案 1 :(得分:0)
你的意思是这样的吗?
app.directive('day', function(){
return {
scope: {
dayValue: '='
},
template: '<div>{{dayValue}}</div>'
}
})
app.directive('outerDirective', function(){
return {
link: function($scope){
$scope.days = [1,2,3];
},
template: '<day day-value="day" ng-repeat="day in days"></day>'
}
})
&#13;