AngularJS:使用另一个变量值命名变量

时间:2014-03-21 16:02:08

标签: javascript angularjs ionic-framework

我是AngularJS的新手,我仍然在探索它的可能性。目前我遇到了这个问题:如何使用另一个变量值命名变量?

例如我在我的控制器中有这样的东西:

    $scope.item_foo = 'Foo';
    $scope.item_bar = 'Bar';

我可以使用以下方法访问值:

    {{item_foo}}
    {{item_bar}}

到目前为止一直很好,但现在我想动态显示它们。我有一个“foo'和' bar'然后我用ngRepeat循环它。我怎么能这样做:

    {{item_{{variable_with_value_foo_or_bar}}}} // should print Foo and Bar

感谢您的任何帮助!

2 个答案:

答案 0 :(得分:3)

似乎最好使用一个对象来存储数据,而不是$scope级别的一堆东西......:

$scope.item = {foo: 'Foo', bar: 'Bar'};
// ...
$scope.variable_with_value_foo_or_bar = 'foo';

然后访问:

{{item[variable_with_value_foo_or_bar]}}

答案 1 :(得分:1)

在您的模板中,this指的是当前范围,因此您可以执行以下操作:

{{ this[ 'item_' + variable_with_value_foo_or_bar ] }}

可能有更好的方法来执行您尝试做的事情,但希望这可以回答您的问题。