我想在angular.I中创建动态范围变量,我使用循环将变量名称设置为v1,v2,v3,但仍然没有成功。 任何想法如何实现这一目标?angularjs中的动态范围变量
JS
for (var i = 0; i < 4; i++) {
$scope.v_i='value'+i;
}
HTML
<div>{{v1}}</div>
<div>{{v2}}</div>
<div>{{v3}}</div>
我想在angular.I中创建动态范围变量,我使用循环将变量名称设置为v1,v2,v3,但仍然没有成功。 任何想法如何实现这一目标?angularjs中的动态范围变量
JS
for (var i = 0; i < 4; i++) {
$scope.v_i='value'+i;
}
HTML
<div>{{v1}}</div>
<div>{{v2}}</div>
<div>{{v3}}</div>
可以使用$scope
对象的typeof Array
。 但我会将它们包装到$scope
对象封装器items
。 请参阅下面两种方法。
VIEW
<div ng-app="app" ng-controller="MainController">
{{v0}}
<br/> {{v1}}
<br/> {{v2}}
<br/> {{v3}}
<br/>
<br/> {{items}}
<br/>
<br/>
<div ng-repeat="item in items">
{{item}}
</div>
</div>
控制器
angular
.module('app', [])
.controller('MainController', MainController)
function MainController($scope) {
$scope.items = {};
for (var i = 0; i < 4; i++) {
$scope['v' + i] = 'value' + i;
// or add to object wrapper
$scope.items['v' + i] = 'value' + i;
}
}
如何在视图中显示? – query
鉴于HTML,看起来它必须是'$ scope ['v'+ i]'。另外,说你使用它作为'Array'可能有点误导。您在对象上使用括号表示法。 –
对不起,只要删除控制器和视图上的'_'。但方法是相同的...更新上面的答案。 –
你为什么不让它数组? – Vivz