这些是我的范围变量
$scope.published = true;
$scope.count = 3;
我也有一个称为标签的数组
$scope.labels = ['published', 'count'];
在视图中,我想以标签名称-标签值的形式查看这些数据。
<div ng-repeat="label in labels">
{{label}} - {{Here I want the value from the Scope variable}}
</div>
有人可以帮助我在这种情况下如何访问范围变量吗?
使用this
标识符和bracket notation property accessors:
<div ng-repeat="label in labels">
{{label}} - {{this[label]}}
</div>
来自文档:
可以使用标识符
this
访问上下文对象,并使用标识符$locals
访问本地对象。
有关更多信息,请参阅
angular.module("app",[])
.controller("ctrl", function($scope) {
$scope.published = true;
$scope.count = 3;
$scope.labels = ['published', 'count'];
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app" ng-controller="ctrl">
<div ng-repeat="label in labels">
{{label}} - {{this[label]}}
</div>
</body>
将标签映射到{key:"labelKey", value:"valueInScope"}
,以便可以在模板中使用它们。
类似的事情可能起作用
labels = ['published','count']
.map(
function(label){
return {key:label,value:$scope[label]}
});
然后使用
<div ng-repeat="label in labels">
{{label.key}} - {{label.value}}
</div>