当我试图在指令体内转换日期时,我得到错误:
错误:[$ compile:nonassign]属性中的表达式'undefined' [ATTRIBUTENAME]与指令'[DIRECTIVENAME]'一起使用是 非可分配!
我正在使用角度版本1.4.14
预期结果:在我的模板指令中将返回类名 -
div class =“news-block-container sm-padding-right”
什么可能导致这个问题?谢谢你的回答
这是我的代码示例:
'use strict';
angular.module('test.directives')
.directive('test', function () {
var templatePath = "/views/templates/testTemplate.tmpl.html";
return {
restrict: 'E',
scope: {
position: '=',
},
templateUrl: templatePath,
link: function (scope, element, attrs) {
scope.$watch('position', function () {
if (scope.position === "left") {
scope.position = "sm-padding-right";
}
else {
scope.position = "sm-padding-left";
}
});
}
}
});
view - directive usage
<test-template position="'left'"></test-template>
//!TEMPLATE! - testTemplate
<div>
<a href="{{#}}">
<div class="news-block-container {{position}}">
</div>
</a>
</div>
答案 0 :(得分:1)
只需使用ng-class
指令动态分配类
<div>
<a href="{{#}}">
<div class="news-block-container" ng-class="position">
</div>
</a>
</div>
更改angular.module('test.directives')
到此angular.module('test.directives',[])
同时删除模板
中散列的大括号更改<a href="{{#}}">
到此<a href="#">