角度计算变量名称
Angular evaluate variable name
我有以下循环:
$scope.loop = ['loopone','looptwo'];
$scope.loopone = {'one', 'two'};
$scope.looptwo = {'three', 'four'};
我在这里循环播放:
<div ng-repeat="slug in loop">
<div ng-repeat="val in {{ slug }}">{{ val }}</div>
</div>
如何评估第二个ng-repeat
内的{{ slug }}
?
使用 javascript 的括号表示法访问具有键名的属性。 您可以绑定到控制器函数的结果以获取正确的数组。 因此,您的标记可能如下所示:
<div ng-repeat="slug in loop">
Slug: {{slug}}
<div ng-repeat="val in getValuesFromSlug(slug)">{{ val }}</div>
</div>
还有javascript:
$scope.getValuesFromSlug = function (slug) {
return $scope[slug];
}
关于普伦克的演示
使用角度可以评估$eval()
方法,它将解决您的问题
<div ng-repeat="slug in loop">
<div ng-repeat="val in $eval(slug)">{{ val }}</div>
</div>
如@ryanyuyu所述,$scope.loopone
和$scope.looptwo
应该是数组
$scope.loopone = ['one', 'two'];
$scope.looptwo = ['three', 'four'];
如果你的视图中有一个树结构,最简单的方法是在你的控制器中也有一个树。
例:
在控制器中:
$scope.loops = [
[1,2,3], [4,5,6]
];
在视图:
<div ng-repeat="miniloop in loop">
<div ng-repeat="val in miniloop">{{ val }}</div>
</div>
这非常容易迭代,并且您可以轻松地从任一深度推送和删除元素(这将立即反映在视图中)。
您这样做的方式,尝试使用常量变量,就好像它们是动态创建的一样,将引导您走上意大利面条代码和不可伸缩性的道路。
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- 动态变量名语法
- 动态jQuery变量名
- jquery没有't从DIV数据id中获取PHP变量值,只输出变量名
- Ajax jquery post发布时没有变量名
- 在javascript中的现有变量名中添加一个变量
- 可以't让JavaScript将ID读取为变量名
- 如何降低炮弹速度变量的计算成本
- ng绑定html,变量名来自ng repeat,但在其他地方定义了变量
- 如何按类名计算元素的数量,并将结果转化为变量