AngularJS Ng-repeat,用表达式创建动态dom
AngularJS Ng-repeat, create dynamic dom with expressions
这是我正在尝试解决的问题。我想创建一个 JS 脚本,该脚本使用 angular 动态创建div 元素,同时添加一个额外的表达式,例如 {{levelone}}。
这是一个示例,如果我知道我有 5 次 Dom 元素迭代,我期望输出是什么。
<div ng-switch-when="0">{{levelZero}}</div>
<div ng-switch-when="1">{{levelOneA}}{{levelOneB}}</div>
<div ng-switch-when="2">{{levelTwoA}}{{levelTwoB}}{{levelTwoC}}</div>
etc.....
如您所见,我每次都会添加一个表达式。我只是不知道如何通过重复循环继续添加它们,然后让它们使用 AngularJS 正确编译。我正在尝试使我的 DOM 尽可能动态。
编辑每次我再循环 1 时,我都会用 JS 或角度向div 添加一个表达式 ->{{expression}}。我没有将表达式硬编码到每个div 中,因为每个div 也是动态创建的。但是有一个转折,我正在添加额外的表达式,即来自前一个div 的 3 个表达式,并添加一个表达式,即四个。请参阅下面的示例。
<div ng-switch-when="3"{{levelTwoA}}{{levelTwoB}}{{levelTwoC}}</div>
下面的这个是动态生成的
<div ng-switch-when="4"{{levelTwoA}}{{levelTwoB}}{{levelTwoC}}{{THIS EXPRESSION IS GENERATED IN js AND ADDED & COMPILED}}</div>
只要
数据绑定是动态的,DOM 就是动态的。 我需要更多信息(数据模型、期望(才能更准确,但如果您设置数据并正确绑定它,它应该可以工作。 例如,如果您的数据如下所示
var data = {
"levelOne" : {},
"levelTwo" : {
"elements" : ["<span id="firstEl"></span>, ...]
},
"levelThree" : {
"elements" : ["<span id="firstEl"></span>, <span id="secondEl"></span>, ...]
}
然后在您的模板中按照@paulgoblin建议进行操作。
}
您可以在每个开关案例中重复 ng。例如。
<div ng-switch-when="0">
<span>{{levelZero}}</span>
</div>
<div ng-switch-when="1">
<span ng-repeat="expression in levelOne">{{expression}}</span>
</div>
<div ng-switch-when="2">
<span ng-repeat="expression in levelTwo">{{expression}}</span>
</div>
您可能
希望使用范围函数执行此操作。
<div ng-switch="assignment.id">
<div ng-switch-when="1">{{ getExpressions(assignment.id) }}</div>
<div ng-switch-when="2">{{ getExpressions(assignment.id) }}</div>
</div>
相关文章:
- 如何在javascript中创建动态json对象
- 如何创建动态ajax提交表单
- 如何在javascript中创建动态正则表达式
- 如何使用pouchdb创建动态查询(couchdb可能也是如此)
- 如何在jquery mobile中使用json文件创建动态下拉菜单
- 基于所选下拉列表值创建动态复选框
- 使用推动创建动态对象
- 在浏览器窗口中创建动态灵活的分割标记
- 将字符串与integer连接,用作jquery中的变量(创建动态变量)
- 创建动态javascript对象
- 如何使用指令属性值创建动态模板
- 使用 JavaScript 创建动态下拉列表
- 如何在创建动态 HTML 页面时使用日期选择器
- 使用javascript中的append创建动态下拉列表
- Jquery - 创建动态名称选择器
- 如何根据查询字符串值创建动态超链接
- 使用javascript创建动态多维关联数组
- 使用javascript创建动态二级下拉列表
- 在JavaScript中创建动态绑定
- 在JS中创建动态对象