我正在做一个 AngularJS 应用程序,我最终遇到了这个问题:
我有一些文本必须是动态的...文本将在以下变量中可访问:
“ scope.text.text_id ”
问题是用 Angular 的 {{}}设置这个id变量
我不能将其用作数组而不是对象,因为我有大量的空 id,所以大部分都是无用的
有任何想法吗?
感谢任何人的建议
我正在做一个 AngularJS 应用程序,我最终遇到了这个问题:
我有一些文本必须是动态的...文本将在以下变量中可访问:
“ scope.text.text_id ”
问题是用 Angular 的 {{}}设置这个id变量
我不能将其用作数组而不是对象,因为我有大量的空 id,所以大部分都是无用的
有任何想法吗?
感谢任何人的建议
当然,这只是普通的 javascript。您可以使用对象上的 [] 运算符设置对象的属性。
角度的代码将是这样的:
在控制器中:
$scope.id = "myprop";
$scope.text = {};
$scope.text['text_' + $scope.id] = "myValue";
在指令中:
{{text["text_" + id]}}
我让这个 plunker 显示了这种行为。 http://plnkr.co/edit/72mHY2AxQgwqTuXX9Myd
如果您具有范围属性id
,您可以使用这样的括号表示法从 object 访问动态文本scope.text
:
{{ text['text_' + id] }}