1

我正在制作一个问卷应用程序,其中一组问题(和答案的类型)将由服务器设置。这是我范围内的一个示例(它是咖啡脚本,但你会明白的):

        $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"
                    }
                }
            ]
        }
    ]

问题是,在我看来,我事先不知道我需要什么输入,因为这是由范围的状态设置的(你看到上面的 Enum、Integer、Short Text,后面还有更多)

在 Angular 中执行此操作的好方法是什么?我的第一个想法是只拥有一个基于参数的指令,它要么激活适当的指令(也许通过将相关元素注入 dom,这是否可能?),或者本身包含所有必要的输入并注入适当的指令。但是,我不确定这是执行此操作的适当方法。

有人愿意对此进行破解吗?谢谢!

4

1 回答 1

1

你可以使用

ng-show="expression"

仅当表达式计算结果为时才显示某些元素true

例如:

<div ng-show="foo.bar">I will be visible when foo.bar exists</div>

如果您需要更复杂的条件,请使用AngularUIng-switchui-if指令,这是执行相同切换的一种不太冗长的方式。

于 2013-03-20T09:12:34.317 回答