我对此有疑问:
app.directive('myDirective', function(){
return{
retrict: 'EA',
replace: false,
scope:{
fstData: '@',
sndData: '@'
},
template: '<div ng-controller="myController" arg="{{fstData}}"><h3>{{sndData}}</h3><li ng-repeat="event in eventsCat"></li></div>'
}
});
当我在HTML中创建my-directive标记时,它不会绑定fstData,但是如果我删除{{fstData}},然后放入一些东西,它将起作用。
我认为我无法绑定包含ng-controller属性的标签,但是我需要此属性(args),因为在myController中我使用它。
谢谢!
在myController中,我有:
app.controller('myController', function($scope, $attrs){
var myVar = myArray[$attrs.arg];
最佳答案
您是否尝试过这种方法?
app.directive('myDirective', function(){
return{
retrict: 'EA',
replace: false,
scope:{
fstData: '@',
sndData: '@'
},
link: function(scope ,element , attrs)
{
var markup = '<div ng-controller="myController" arg="'+scope.fstData+'"><h3>'+scope.sndData+'</h3><li ng-repeat="event in eventsCat"></li></div>' ;
element.append(markup);
}
}
});