Javascript 如何基于多变量比较添加ng类?
如果两个变量构成一个JSON对象,我的select下拉列表需要类Javascript 如何基于多变量比较添加ng类?,javascript,angularjs,angularjs-ng-repeat,ng-class,Javascript,Angularjs,Angularjs Ng Repeat,Ng Class,如果两个变量构成一个JSON对象,我的select下拉列表需要类btn success空 到目前为止,我尝试过但不起作用的方法,基本上如果term.tag和term.id不为空,请将类btn success添加到选择项 这是一个ng repeat术语的内部,术语中的是JSON数据 <select ng-class="{ 'btn-success': term.tag != null && term.id != null }"> <option value
btn success
空
到目前为止,我尝试过但不起作用的方法,基本上如果term.tag
和term.id
不为空,请将类btn success
添加到选择项
这是一个ng repeat术语的内部,术语中的
是JSON数据
<select ng-class="{ 'btn-success': term.tag != null && term.id != null }">
<option value="companies">companies</option>
<option value="news">news</option>
<option value="people">people</option>
<option value="products">products</option>
</select>
公司
新闻
人
产品
您将如何执行此操作?将您的HTML更改为以下内容:
<select ng-class="getButtonClass()">
您应该在控制器中创建一个函数来更新变量。在您的视图中逻辑过多是一件坏事。这取决于您的term.tag是什么。尝试一下
term.tag&&term.id
。isherwood是对的。创建一个控制器函数,让它将您想要的类直接返回到ng类中。@dfsq哦,谢谢!是的,这样更好,你想发布答案吗?顺便说一句,我发现它读起来也更好。
在:的左边,如果是真的,在:的右边,如果是假的。谢谢,我可以看到它在一个例子中起作用,但是我有几百个小部件,它们都包含相同的选择,并且在页面上通过一个ng重复术语生成。看起来可能会有更多的人卷入这件事?你可能会通过范围或其他指标。哦,是的,谢谢!像<代码>
$scope.getButtonClass = function() {
if (term.tag && term.id) {
return 'btn-success';
}
});