作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试应用与范围变量相同的类名。
例如:
<div ng-class="{item.name : item.name}">
这样item.name
的值被添加到类中。但这似乎没有做任何事情。关于如何做到这一点有什么建议吗?
谢谢!
编辑:
这实际上是使用 ng-options 在选择中完成的。例如:
<select ng-options="c.code as c.name for c in countries"></select>
现在,我想应用一个值为 c.code
的类名
我发现了以下指令,它似乎有效,但不适用于值的插值:
angular.module('directives.app').directive('optionsClass', ['$parse', function ($parse) {
'use strict';
return {
require: 'select',
link: function(scope, elem, attrs, ngSelect) {
// get the source for the items array that populates the select.
var optionsSourceStr = attrs.ngOptions.split(' ').pop(),
// use $parse to get a function from the options-class attribute
// that you can use to evaluate later.
getOptionsClass = $parse(attrs.optionsClass);
scope.$watch(optionsSourceStr, function(items) {
// when the options source changes loop through its items.
angular.forEach(items, function(item, index) {
// evaluate against the item to get a mapping object for
// for your classes.
var classes = getOptionsClass(item),
// also get the option you're going to need. This can be found
// by looking for the option with the appropriate index in the
// value attribute.
option = elem.find('option[value=' + index + ']');
// now loop through the key/value pairs in the mapping object
// and apply the classes that evaluated to be truthy.
angular.forEach(classes, function(add, className) {
if(add) {
angular.element(option).addClass(className);
}
});
});
});
}
};
}]);
最佳答案
迟做总比不做好。
<div ng-class="{'{{item.name}}' : item.condition}">
是的。 '
和 {{
表示类名。
关于angularjs - 如何在 ngClass 中使用动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24563001/
我是一名优秀的程序员,十分优秀!