从指令 require
尝试msgpallete
指令 itemCounter
时出错。
我已经删除了一些我认为在这种情况下不相关的函数的代码
请问任何您认为重要的代码.Kinda new to angular。所以可能有很多误解。
HTML 代码段
<msgpallete msg="message"></msgpallete>
<li ng-repeat = "item in items">
<item-counter
startcounter = 1
resetter = 'reset'
name = {{item.name}} >
{{item.name}}
</item-counter><br><br>
</li>
JS 代码段
angular.module('myApp',[])
.controller('MainCtrl', function($scope, $timeout) {
....code irreleveant in this context....
})
.directive('msgpallete',function(){
return{
restrict:"E",
scope:{},
template:"<h4>Added"+""+" "+"</h4>"
}
})
.directive('itemCounter',function(){
return {
restrict:'E',
require:'msgpallete',
scope:{
resetter:"="
},
transclude:true,
link:function(scope,elem,attr){
scope.qty = attr.startcounter
scope.add = function(){}
scope.remove = function(){}
scope.reset = function(){}
scope.$watch();
},
template:"<a ng-transclude></a>  "+
"<button ng-click='remove();' >less</button>"+
"{{qty}}" +
"<button ng-click='add();'>more</button> "+
"<button ng-click='reset();'>submit</button>"
}
});
提前致谢
答案 0 :(得分:1)
require:'^msgpallete'
require
参数具有其他功能,如果您查看文档。
自从我完成此操作已经有一段时间了,您需要的指令可能需要明确定义控制器。只需定义并返回一个空控制器即可。
.directive('parent', function() {
return: {
controller: function() {return {}}
}
})