我在当前的应用程序中使用Angular指令作为KendoUI。我有一个案例,我需要使用基于某些字段值的ng-class
。我试过下面的代码,但它没有工作
$scope.getClass = function (b) {
console.log(b);
}
$scope.columns = [
{ "field": "Name", "title": "Name" },
{ "field": "StudentId", "title": "Id" },
{ "field": "Address", "title": "Address", template: "<div ng-class='getclass(#:Address#)'>#:Address#</div>" }
]
答案 0 :(得分:1)
所有取决于你的getclass()方法返回什么,表达式必须为列出的css类之一评估为true,例如。以下内容将红色添加到<p>
标记上(您不能只返回该类的字符串名称):
<p ng-class=" {red : true}" >Using String Syntax</p>
OR
<span class="base-class" ng-class="myVar='red'">Sample Text</span>
或者,您需要使用ng-model
在ng-class
属性中列出的类之间进行交换:
<p ng-class="style">Using String Syntax</p>
<input type="text" ng-model="style" placeholder="Type: bold strike red">
OR ng-click
设置表示类的变量。
<input id="clearbtn" type="button" value="clear" ng-click="myVar=''">
<br>
<span class="base-class" ng-class="myVar='my-class'">Sample Text</span>
这是将kendo模板变量传递给范围方法(plunker)的方法:
$scope.columns = [
{ "field":"name", "title": "name", template: '<div ng-class="getClass(\'#:name#\')">#:name#</div>' },
];