ng-class在true时不添加类

时间:2013-09-10 14:49:47

标签: angularjs angularjs-directive

我是Angular的新手并且坚持了下来。请参阅以下plunker

我有一个ngcontroller,它将一个menuItem数组添加到范围中。我在ul中的li元素上的menuItems数组上使用ngrepeat。每当用户点击li元素中的锚点时,我在所选的menuItem上将“open”属性设置为true。我想动态地将“open”类添加到li元素。

        <div data-ng-controller="MenuCtrl">
        <ul>
            <li data-ng-repeat="m in menuItems" data-ng-class="{open: {m.open}">
                <a data-ng-click="selectMenuItem(m)">

正如您在plunker中所看到的,“open”类未添加到li元素中。我做错了什么?

谢谢, 丹

2 个答案:

答案 0 :(得分:3)

您的语法错误:

data-ng-class="{open: {m.open}"

应该是

data-ng-class="{open: m.open}"

答案 1 :(得分:1)

http://plnkr.co/edit/TirAAwQEY2NSVabIFdve?p=preview

认为你刚刚在ng-class定义中出现了一些语法错误,它只能是从类名到属性的映射(真值属性,否则存在其他语法用于比较其他值)

            <li data-ng-repeat="m in menuItems" data-ng-class="{open: m.open}">