我正在制作一份问卷调查应用程序,其中一组问题(以及答案的类型)将由服务器设置。这是我的范围内的一个示例(它是咖啡脚本,但你会得到这个想法):
$scope.groups = [
{
id: "basics"
text: "The Basics"
questions: [
{
id: "project_text"
text: "What's the name of the project?"
type: {
name: "Short Text"
}
}
{
id: "currency_type"
text: "Choose your currency"
type: {
name: "Enum"
options: ["$", "£", "€"]
}
}
]
}
{
id: "dev"
text: "Development"
questions: [
{
id: "dev_cost"
text: "How much will development cost?"
type: {
name: "Integer"
}
}
]
}
]
问题是,在我看来,我事先并不知道我需要什么输入,因为这是由范围的状态设置的(你看上面是枚举,整数,短文,后面还有更多)
在Angular中执行此操作的好方法是什么?我的第一个想法是只有一个基于params的指令要么激活适当的指令(可能通过将相关元素注入dom,这甚至可能吗?)或者包含所有必要的输入并注入适当的指令。但是,我不确定这是否适合这样做。
有人愿意接受这个吗?谢谢!
答案 0 :(得分:1)
您可以使用
ng-show="expression"
仅在表达式求值为true
例如:
<div ng-show="foo.bar">I will be visible when foo.bar exists</div>
如果您需要更复杂的条件,请使用ng-switch
或AngularUI的ui-if
指令,这是执行相同切换的简洁方法。