如果其他条件在angularjs模板中
If else conditions in angularjs templates
我对AngularJs很陌生。我正在做一个问答;一个应用程序,我必须以表格的形式呈现一些问题及其答案。我有三种类型的问题,我必须用不同的方式回答。每个问题都分配了一个类型。如果question.type是"MCQ",则选项或答案应使用HTML复选框呈现,如果问题类型是NUM,则答案应使用单选按钮呈现。我尝试过这个,并在AngularJs模板中使用if条件。我的代码是
<table>
<thead>
<td>Questions</td>
<td></td>
<td>Hints</td>
</thead>
<tr data-ng-repeat="question in quizdata.questions">
<td ng-if="question.type==MCQ">
<li>{[{question.question_text}]}</li>
<ol data-ng-repeat="answerswer in question.answers">
<li>
<input type="checkbox">{[{answer.answer_text}]}</input>
</li>
</ol>
</td>
<td ng-if="question.type==FIB">
<ol data-ng-repeat="answerswer in question.answers">
<li>
<input type="text"> </input>
</li>
</ol>
</td>
<td ng-if="question.type==NUM">
<ol data-ng-repeat="answerswer in question.answers">
<li>
<input type="radio">{[{answer.text}]}</input>
</li>
</ol>
</td>
<td></td>
<td ng-if="quizdata.attempt_hint">
{[{question.hint}]}
</td>
</tr>
</table>
我试过了。但我认为,如果条件没有得到执行。因为如果条件为false或true,它将在每种情况下呈现所有元素。我是否以正确的方式使用if条件?AngularJs模板中还有其他条件吗?我们将非常感谢您的帮助。
您要查找的是ngSwitch
指令,它应该在处理互斥条件时使用:
<td ng-switch="question.type">
<div ng-switch-when="MCQ">
<li>{[{question.question_text}]}</li>
<ol data-ng-repeat="answerswer in question.answers">
<li>
<input type="checkbox {[{answer.answer_text}]}</input>
</li>
</ol>
</div>
<div ng-switch-when="FIB">
<ol data-ng-repeat="answerswer in question.answers">
<li>
<input type="text"> </input>
</li>
</ol>
</div>
<div ng-switch-when="NUM">
<ol data-ng-repeat="answerswer in question.answers">
<li>
<input type="radio">{[{answer.text}]}</input>
</li>
</ol>
</div>
</td>
<td ng-if="quizdata.attempt_hint">
{[{question.hint}]}
</td>
如果你确定要使用ngIf而不是ngSwitch作为@Blackhole引用,我只会确保你将question.type与字符串进行比较,而不是Angular可能解释为对象或其他变量的内容。
例如,代替:
<td ng-if="question.type==FIB">
用途:
<td ng-if="question.type == 'FIB'">
希望能有所帮助!
相关文章:
- 我可以像其他库一样将JointJS作为AngularJS模块注入吗
- AngularJS:如何与其他控制器共享作用域函数和变量
- AngularJS:根据其他对象预先选择ng repeat中的select元素
- 基于其他数据结构更新 AngularJS 中的数据结构
- 如何停止 MathJax 在 angularJS 中从其他页面渲染
- AngularJS:必需属性适用于某些字段,但不适用于其他字段
- 如果所有其他元素都填写在AngularJS中,如何动态添加新的输入元素
- 创建一个计算值数组,该数组绑定到AngularJS中的其他输入
- 编写angularjs指令来包装其他指令
- AngularJS,引用指令中的其他DOM项
- 更新其中一个字段时刷新其他输入字段.使用Angularjs(附Plunker)
- 如果其他条件在angularjs模板中
- AngularJS客户端验证:根据其他字段更改验证要求
- AngularJS计时器代码获胜'Don’不要经历所有其他条件
- 使用AngularJS中的ngOptions隐藏其他列表中的选定选项
- Angularjs填充表单数据(从其他Select中选择)
- AngularJS-在键入自动完成后填充其他字段
- 如何在 AngularJS 中与其他参数一起上传 http.post 的图像文件
- 当我使用 AngularJS 单击其他地方的元素时,如何更改元素上的类
- AngularJs GPS 访问在其他州被拒绝