3

我正在做一个 AngularJS 应用程序,我最终遇到了这个问题:

我有一些文本必须是动态的...文本将在以下变量中可访问:

“ scope.text.text_id

问题是用 Angular 的 {{}}设置这个id变量

我不能将其用作数组而不是对象,因为我有大量的空 id,所以大部分都是无用的

有任何想法吗?

感谢任何人的建议

4

2 回答 2

4

当然,这只是普通的 javascript。您可以使用对象上的 [] 运算符设置对象的属性。

角度的代码将是这样的:

在控制器中:

$scope.id = "myprop";
$scope.text = {};
$scope.text['text_' + $scope.id] = "myValue";

在指令中:

{{text["text_" + id]}}

我让这个 plunker 显示了这种行为。 http://plnkr.co/edit/72mHY2AxQgwqTuXX9Myd

于 2015-09-01T20:27:37.633 回答
3

如果您具有范围属性id,您可以使用这样的括号表示法从 object 访问动态文本scope.text

{{ text['text_' + id] }}
于 2015-09-01T20:25:16.883 回答