css - 我应该如何为angularjs中的嵌套对象应用条件类

标签 css arrays class object angularjs

我实际上是在尝试根据点击事件显示/隐藏部分标题,该点击事件也用于过滤标题下方的 ng-repeat

我的想法是通过重用我用于过滤器功能的 ng-click 来切换类。我的过滤器在 ng-repeat 上运行良好,但我似乎无法让条件类在标题上运行。

下面是(简化的)代码:

<div ng-init="phones = [
            {name:'Samsung Galaxy S II', product_type: 'android'},
            {name:'iPhone 5', product_type: 'ios'},
            {name:'Samsung Galaxy S II', product_type: 'android'},
            {name:'iPhone 5', product_type: 'ios'},
            {name:'Samsung Galaxy S II', product_type: 'android'},
            {name:'iPhone 5', product_type: 'ios'}
        ]">

    <!-- Filters for products -->

    <a href="#" ng-click="property = null">All</a>
    <a href="#" ng-click="property = {product_type:'android'}">Android</a>
    <a href="#" ng-click="property = {product_type:'ios'}">iOS</a>

    <!-- Android Product Section -->

    <h2 ng-class="{true: 'hide', false: 'show'}[property == {product_type:'ios'}]">Android</h2>

    <div ng-repeat="phone in phones | filter:property | filter:{product_type:'android'}">
        <h3>{{ phone.name }}</h3>
    </div>

    <!-- iOS Product Section -->

    <h2 ng-class="{true: 'hide', false: 'show'}[property == {product_type:'android'}]">iOS</h2>  

    <div ng-repeat="phone in phones | filter:property | filter:{product_type:'ios'}">
        <h3>{{ phone.name }}</h3>
    </div>
</div>

这是我的代码演示:http://codepen.io/micjamking/pen/c0cfb8039492204d0282c42f563983e0

仅供引用,我无法更改上面 JSON(对象数组)的结构/方案。我实际上是从服务中的 API 获取数据,但我认为这是一种在 View 中显示所有内容的简单方法。

我真诚地感谢任何人对此的帮助或建议。

最佳答案

看起来你的 ng-class 指令比它需要的要复杂一些。我将其更新为如下所示:

<h2 ng-class="{invisible: property.product_type =='ios'}">Android</h2>
...
<h2 ng-class="{invisible: property.product_type =='android'}">iOS</h2>  

这里有一个 jsFiddle 来演示:http://jsfiddle.net/jandersen/ZFDQT/1/

(invisible 类取自您的代码笔示例)

关于css - 我应该如何为angularjs中的嵌套对象应用条件类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18007706/

相关文章:

html - :hover 上的视频 DIV 背景

html - Firefox 和 IE 中的 CSS 动画支持?

html - 在 CSS 中,我应该将字体大小更改应用到顶级元素还是最底层元素?

python : terminology 'class' VS 'type'

javascript - 什么时候应该在 Javascript 中使用类表达式?

javascript - 是否可以在 ES6 中实现相等运算符?

CSS 合并文件并压缩

javascript - 检查数组中唯一数的个数是否超过n

javascript - 从 JSON 创建 jQuery 数组

java - 字符串数组的减法