在script.js
我有一个指令super
。该指令有一个模板
template: '<div class="super" ng-class="{dirClass: foo}"></div>'
具有ng-class
属性。
请注意,该指令还有replace: true
。
在<super>
中调用此指令的index.html
元素也具有ng-class
属性。显然Angular并不喜欢这样..它会尝试解析
[{viewClass: !bar} {dirClass: foo}]
显然失败了。我预计它会自动合并.. nope。
我认为我想要达到的目标有点明确,但我该怎样做呢?
答案 0 :(得分:1)
你可以这样做:http://plnkr.co/edit/xEc0pRHVbVLgR0NhWPEI?p=preview
JS:
angular.module('app', [])
.controller('myCtrl', function ($scope, $interval) {
$scope.bar = false;
$interval(function () {
$scope.bar = !$scope.bar;
}, 500);
})
.directive('super', function () {
return {
restrict: 'EA',
template: '<div class="super" ng-class="{dirClass: foo , viewClass: !foo}" ></div>',
scope: {
foo: '='
},
replace: true
};
});
HTML:
<super foo="bar"></super>