【问题标题】:ng-class if object exists angularjsng-class 如果对象存在
【发布时间】:2014-07-03 23:30:05
【问题描述】:

如果对象存在,我们如何激活类。我有一个 json 数组,如果该特定数组存在 image_id,我需要激活一个类。

something like ng-if="data.image_id"  then class get activated

 <div class="test" ng-class="classonimage:data.image_id">
   //showing data

<div>  

此处类测试处于活动状态,但如果 image_id 存在,则会激活 classonimage 以修改少数 css 属性。

所以我想在这里对包含图像的故事进行一些更改。我们如何在 ng-if 上激活 ng-class。 我们怎样才能做到这一点?

【问题讨论】:

    标签: angularjs ng-class angular-directive


    【解决方案1】:

    试试:

    <div class="test" ng-class="{'classonimage':data.image_id}"><div>
    

    将类名放在''之间很重要,因为如果类名包含- ng-class 将不起作用。

    小提琴:http://jsfiddle.net/YwU77/1/

    【讨论】:

      【解决方案2】:

      检查data.image_id 是否已定义,并更正ngClass 的语法:

      <div class="test" ng-class="{classonimage : data.image_id !== undefined}"></div>
      

      【讨论】:

      • !== 在控制台中抛出一个错误,至少以前是这样。它似乎不喜欢三倍等于任何一个。您必须使用!===(必须使用,不确定是否已修复)
      • @callmekatootie 现在已经很久没有了!
      • @Blackhole 如果类名类似于class-on-image,它将不起作用。
      • @czwek 看起来很明显,但值得一提。
      【解决方案3】:

      使用ng-class="{classonimage:data.image_id}来控制这个元素的类。

      这是plunk 的例子:

      如果 data.image_id 为 true,您将看到该类应用字体大小(在 style.css 中)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-05
        • 1970-01-01
        • 1970-01-01
        • 2015-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多