Javascript AngularJS Ng重复,使用表达式创建动态dom

Javascript AngularJS Ng重复,使用表达式创建动态dom,javascript,angularjs,loops,dom,angularjs-ng-repeat,Javascript,Angularjs,Loops,Dom,Angularjs Ng Repeat,这就是我试图解决的问题。我想创建一个JS脚本,它使用angular动态创建div元素,同时添加一个额外的表达式,例如{{levelone} 下面是一个例子,如果我知道我有5次Dom元素迭代,那么我希望输出是什么 <div ng-switch-when="0">{{levelZero}}</div> <div ng-switch-when="1">{{levelOneA}}{{levelOneB}}</div> <div ng-switch-w

这就是我试图解决的问题。我想创建一个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.....
{{levelZero}
{{levelOneA}}{{levelOneB}
{{levelTwoA}}{{levelTwoB}}{{levelTwoC}
等
正如你所看到的,我每次都在添加一个表达式。我只是不知道如何通过重复循环继续添加它们,然后使用AngularJS正确编译它们。我试图使我的DOM尽可能动态

编辑 每次我再循环1次,我就用JS或angular向div添加一个表达式->{{expression}}。我不是将表达式硬编码到每个div中,因为每个div也是动态创建的。但有一个转折,我添加了额外的表达式,即从上一个div中的3个表达式,再添加一个表达式,得到四个表达式。见下面的例子

<div ng-switch-when="3"{{levelTwoA}}{{levelTwoB}}{{levelTwoC}}</div>

您可以在每个开关盒内重复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>

{{levelZero}}
{{expression}}
{{expression}}

您可以在每个开关盒内重复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>

{{levelZero}}
{{expression}}
{{expression}}

只要数据绑定是动态的,DOM就会是动态的。我需要更多的信息(数据模型、期望值)才能更准确,但如果您设置数据并正确绑定,它应该可以工作。例如,如果您的数据如下所示

var data = {
   "levelOne" : {},
   "levelTwo" : { 
       "elements" : ["<span id="firstEl"></span>, ...]
    },
   "levelThree" : {
       "elements" : ["<span id="firstEl"></span>, <span id="secondEl"></span>, ...]       
}
var数据={
“一级”:{},
“二级”:{
“要素”:[“,…]
},
“三级”:{
“要素”:[“,…]
}
然后在模板中执行@paulgoblin建议的操作。

}

只要数据绑定是动态的,DOM就会是动态的。我需要更多的信息(数据模型、期望值)才能更准确,但如果您设置数据并正确绑定,它应该可以工作。例如,如果您的数据如下所示

var data = {
   "levelOne" : {},
   "levelTwo" : { 
       "elements" : ["<span id="firstEl"></span>, ...]
    },
   "levelThree" : {
       "elements" : ["<span id="firstEl"></span>, <span id="secondEl"></span>, ...]       
}
var数据={
“一级”:{},
“二级”:{
“要素”:[“,…]
},
“三级”:{
“要素”:[“,…]
}
然后在模板中执行@paulgoblin建议的操作。

}

您可能希望使用scope函数执行此操作

<div ng-switch="assignment.id">
    <div ng-switch-when="1">{{ getExpressions(assignment.id) }}</div>
    <div ng-switch-when="2">{{ getExpressions(assignment.id) }}</div>
</div>

{{getExpressions(assignment.id)}
{{getExpressions(assignment.id)}

您可能希望使用scope函数执行此操作

<div ng-switch="assignment.id">
    <div ng-switch-when="1">{{ getExpressions(assignment.id) }}</div>
    <div ng-switch-when="2">{{ getExpressions(assignment.id) }}</div>
</div>

{{getExpressions(assignment.id)}
{{getExpressions(assignment.id)}

不太清楚数据模型和预期结果是什么。这些数据模型和输出是否嵌套在模型和输出中?即使进行了编辑,也不太清楚您试图实现什么,或者为什么。至少,您应该显示一些示例数据和预期的最终输出;现在,您只是显示一些随机标记,并建议其中的一些部分是动态的,但不是它们应该是如何动态的(生成它们的函数),也不是它们应该是什么样的动态。值得一提的是,说您希望某些角度代码是“动态的”是一种更误用的语句。如果它是JS中的变量和标记中的表达式,那么它已经是动态的。。。。你不能让它变得更有活力。大多数问题表明他们希望自己的标记是动态的,要么是A:不理解angular是如何工作的,要么是B:试图使用angular不知道的其他框架。不太清楚数据模型和预期结果是什么。这些是否实际嵌套在模型和输出中?即使进行了编辑,现在还不清楚你想要完成什么,或者为什么。至少,您应该显示一些示例数据和预期的最终输出;现在,您只是显示一些随机标记,并建议其中的一些部分是动态的,但不是它们应该是如何动态的(生成它们的函数),也不是它们应该是什么样的动态。值得一提的是,说您希望某些角度代码是“动态的”是一种更误用的语句。如果它是JS中的变量和标记中的表达式,那么它已经是动态的。。。。你不能让它变得更有活力。大多数问题表明他们希望自己的标记是动态的,要么是A:不理解angular是如何工作的,要么是B:试图使用angular不知道的其他框架。