【发布时间】:2017-10-02 18:15:42
【问题描述】:
我有一个控制器,其中有一个名为fields 的数组。该数组结构如下(以部分数据为例):
[
{
"name": "Demarcación",
"type": "multiple",
"scope": "restricted",
"icon": "location-arrow",
"order": 1,
"id": 1,
"possible_values": [
{
"id": 1,
"field_id": 1,
"name": "Demarcación 1"
},
{
"id": 2,
"field_id": 1,
"name": "Demarcación 2"
},
{
"id": 3,
"field_id": 1,
"name": "Demarcación 3"
}
],
"values": [
{
"id": 3,
"value": "Demarcación 3"
}
]
},
...
]
然后,我想创建一个表单,其中输入是动态构造的,具体取决于字段的type 和scope。因此,例如,如果scope 等于free,则添加textarea。否则,将添加 input text。
我还需要根据字段类型执行一些 Javascript 初始化,因此 - 例如 - 如果 scope 受到限制,我需要在该输入上初始化一个 JQuery 插件。 p>
我尝试设置一个函数,在其中构造 HTML 字符串,然后在 ngRepeat 中打印它,但我得到的文本是纯文本(即使使用 $sce.trustAsHtml()),但没有运气。
问题
有什么方法可以动态编写输入/html 以添加到文档中 - 并处理一些 Javascript 逻辑 - 并且我可以动态附加一些 AngularJS 属性(如 ngModel 所以它的值与数据绑定物体)?
输入将在 ngRepeat 指令中,因此我可以访问迭代的对象,并且可以将它们作为变量传递给函数。
谢谢!
【问题讨论】:
标签: javascript jquery angularjs dynamic angular-ngmodel