Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于多变量比较添加ng类?_Javascript_Angularjs_Angularjs Ng Repeat_Ng Class - Fatal编程技术网

Javascript 如何基于多变量比较添加ng类?

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

如果两个变量构成一个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="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';
    }
});