我试图做一个简单的指令,取代了跨度与另一跨度结合2个属性范围:AngularJS指令无法呈现更换DOM
.directive('exCategory', function() {
return {
restrict: 'A',
scope: {
category: '=exCategory'
},
replace: true,
template: '<span class="category-label" ng-bind="category.name" style="background-color: {{category.color}};"></span>',
link: function (scope, element) {
console.log(scope, element);
}
};
})
这是我的html:
<span ex-category="transaction.category"></span>
在呈现时,它确实给NIT的颜色,并提出在控制台上出现以下错误:
TypeError: Cannot read property 'length' of undefined
at $interpolate (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:5318:24)
at attrInterpolateLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:4987:27)
at nodeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:4774:13)
at compositeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:4365:15)
at compositeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:4368:13)
at compositeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:4368:13)
at publicLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:4270:30)
at ngRepeatAction (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:14945:15)
at Object.$watchCollectionAction [as fn] (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:8476:11)
at Object.Scope.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.js:8570:27) <span class="category-label" style="background-color: {{category.color}};;background-color: {{category.color}};" ex-category="transaction.category">
有些东西似乎错的生成DOM:
<span class="category-label" style="background-color: {{category.color}};;background-color: {{category.color}};" ex-category="transaction.category">
如果我删除color
位,它的工作原理。
有什么建议吗?
编辑:如果我使用我想直接呈现在我的模板的热播,它的工作原理。
编辑:这个问题似乎与style
标签相关:
template: '<span class="category-label" ng-bind="category.name" style="aaa">{{category.color}}</span>'
呈现:
<span class="category-label ng-binding" ng-bind="category.name" style="aaa;aaa" ex-category="transaction.category">asdads</span>
的问题不会版本1.0.1发生。 的jsfiddle与1.1.5中出现的问题:
http://jsfiddle.net/marcio0/a5KLT/
可以请您分享小提琴 –
[This plunk](http://plunker.co/edit/0qToKpyS3vOH3InpqvMn?p=preview)正常工作。 – rGil
糟糕,没有看到ng-repeat。 – rGil