不确定到底发生了什么,但看来我的表达式没有得到评估或扩展。

        <div ng-repeat-start="q in questions">
            <h3>{{q.text}}</h3>

                <p ng-if="q.type == 'checkbox'">
                    <p ng-repeat-start="a in q.answers">1 {{q.type}}
                        <input type={{q.type}}>{{a.text}}</input><br/>
                    </p>
                    <p ng-repeat-end></p>
                </p>

                <p ng-if="q.type == 'radio'">
                    <p ng-repeat-start="a in q.answers">2 {{q.type}}
                        <input type={{q.type}}>{{a.text}}</input><br/>
                    </p>
                    <p ng-repeat-end></p>
                </p>
        </div>
        <p ng-repeat-end></p>

输出显示代码每次都在执行,就好像它们都是对的一样。 这将产生重复的复选框/单选按钮。

    1 checkbox  Voice calling.
    1 checkbox  Text messaging.
    1 checkbox  Data access 
    2 checkbox  Voice calling.
    2 checkbox  Text messaging.
    2 checkbox  Data access 

它看起来应该像这样:

    1 checkbox  Voice calling.
    1 checkbox  Text messaging.
    1 checkbox  Data access
    2 radio  new question 1.
    2 radio  new question 2.
    2 radio  new question 3.

===============>>#1 票数:2

您的问题是nested p标签更多详细信息

<p>this
  <p>will not work</p>
</p>

P元素代表一个段落。 它不能包含块级元素(包括P本身)。

在这种情况下, ng-if指令将无法正确评估。 因此,如果您使用divspan而不是p那么它应该可以工作

    <div ng-repeat-start="q in questions">
        <h3>{{q.text}}</h3>

            <span ng-if="q.type == 'checkbox'">
                <p ng-repeat-start="a in q.answers">1 {{q.type}}
                    <input type={{q.type}}>{{a.text}}<br/>
                </p>
                <p ng-repeat-end></p>
            </span>

            <span ng-if="q.type == 'radio'">
                <p ng-repeat-start="a in q.answers">2 {{q.type}}
                    <input type={{q.type}}>{{a.text}}<br/>
                </p>
                <p ng-repeat-end></p>
            </span>

    </div>
    <p ng-repeat-end></p>

观看演示

  ask by nullsteph translate from so

未解决问题?本站智能推荐:

2回复

在ng-repeat(AngularJS)中防止重复值

我通过ng-repeat列出了一系列运动器材,但我只想在第一次出现时显示date值。 另外,我想将此日期值包含在div中,并带有<hr>标记。 我猜想我应该对标签应用ng-if ,并将相应的函数设置为true,如果它是getFixtures数组中该值的第一次出现。 我不太确
3回复

AngularJS ng-if和范围[重复]

这个问题在这里已有答案: AngularJS中范围原型/原型继承的细微差别是什么? 3个答案 我试图了解ng-if和范围。 据我所知,ng-if创建了一个新的子范围。 这是我的问题: 视图 调节器 如果someCondition设置为tr
1回复

如何将选定的属性添加到ng重复的下拉表单中?

我有一个基于一些JSON数据构建多个小部件的表单。 该表单的一部分是选择下拉菜单,某些项目默认情况下具有不同的选项。 即: ng-repeat小部件中的select下拉列表 ^在这里,如果这是对象1 ,那么我需要product选项来获取selected属性。 到目
1回复

获取匹配的ng-if重复数

假设我有这样的事情: 有没有办法检索显示的图块数量? 表示ng-repeat与ng-if相匹配的元素数: <md-grid-tile class="gray" ng-repeat="carto in cartoList" ng-if="search(carto)">
1回复

我可以在AngularJS模板中清理这些ng-if语句吗? [重复]

这个问题已经在这里有了答案: AngularJS模板中的if else语句 9回答 我有以下AngularJS模板。 我可以简化或清理这三个ng-if语句吗? condition1 , condition2和condition3是互斥的。 但是,它们
2回复

角ng-repeat $ index在mozilla firefox上的ng-if指令中不起作用

我正在使用ng-repeat在数组中显示项目。 对于每个项目,我都会检查$ index是否满足条件。 在chrome甚至Internet Explorer中,此功能都可以完美运行。 但是,在Mozilla中,似乎只有在ng-repeat结束后才更新$ index。 因此,这些条件在很
2回复

Ng-repeat意外的多次重复

我有一个看起来像这样的对象: 所以基本上我不知道对象的长度,并且我正在使用以下代码来呈现结果: 我希望表中的第一个元素(也被突出显示)始终是具有primary=true属性的对象。 具有上述对象的预期结果: 当前结果: 如果在对象中添加第三个元素,则会得到:
1回复

表排序(使用ng-repeat并使用ng-if删除重复的列名称)

我在使用ng-repeat的表中有一些数据,排序很好。 请看第一个小提琴。 http://jsfiddle.net/HB7LU/10201/ 我正在尝试找到一种具有第一列(名称)的方法,如果下一行具有相同的名称,则不重复该名称。 参见第二个小提琴。 http://jsfi
2回复

角JS ng-if

我正在尝试学习有角度的JS,我是一个绝对的初学者。我尝试使用ng-if指令根据性别和婚姻状况打印``先生或女士'',当我将已婚模型绑定到div标签中时给出正确的值。但是此后的绑定每次都打印正确。 还有其他检查条件的方法吗? 另外我试过用控制器检查条件,为什么不起作用? 请帮忙!
3回复

角度显示NG重复显示

我有以下代码在页面上显示3种不同的类型: 生产 发展 保养 如果filteredResults中没有内容,我希望整个部分(Production h4和table / tbody)消失。 (仅在有内容时才会出现) 我正在尝试ng - 如果对于表格内的内容