AngularJS 中变量的动态名称
Dynamic name of a variable in AngularJS
我正在做一个 AngularJS 应用程序,但我遇到了这个问题:
我有一些文本必须是动态的...可以在以下变量中访问该文本:
"scope.text.text_id"
问题是用 angular 的 {{}}
设置这个 id 变量
我不能用作数组而不是对象,因为我有大量空 ID,所以其中大部分都没有用
有什么想法吗?
感谢大家的建议
如果您有范围 属性 id
,您可以像这样使用括号表示法从对象 scope.text
:
访问动态文本
{{ text['text_' + id] }}
当然,这很简单 javascript。您可以使用对象上的 [] 运算符在对象上设置 属性。
angular 的代码如下所示:
在控制器中:
$scope.id = "myprop";
$scope.text = {};
$scope.text['text_' + $scope.id] = "myValue";
并且在指令中:
{{text["text_" + id]}}
我制作了这个 plunker 来展示行为。
http://plnkr.co/edit/72mHY2AxQgwqTuXX9Myd
我正在做一个 AngularJS 应用程序,但我遇到了这个问题:
我有一些文本必须是动态的...可以在以下变量中访问该文本:
"scope.text.text_id"
问题是用 angular 的 {{}}
设置这个 id 变量我不能用作数组而不是对象,因为我有大量空 ID,所以其中大部分都没有用
有什么想法吗?
感谢大家的建议
如果您有范围 属性 id
,您可以像这样使用括号表示法从对象 scope.text
:
{{ text['text_' + id] }}
当然,这很简单 javascript。您可以使用对象上的 [] 运算符在对象上设置 属性。
angular 的代码如下所示:
在控制器中:
$scope.id = "myprop";
$scope.text = {};
$scope.text['text_' + $scope.id] = "myValue";
并且在指令中:
{{text["text_" + id]}}
我制作了这个 plunker 来展示行为。 http://plnkr.co/edit/72mHY2AxQgwqTuXX9Myd