【问题标题】:AngularJS: Name a variable using another's variable valueAngularJS:使用另一个变量值命名一个变量
【发布时间】:2014-04-29 02:36:53
【问题描述】:

我是 AngularJS 的新手,我仍在探索它的可能性。目前我遇到了这个问题:How can I name a variable using another's variable value?

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

    $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

感谢您的任何帮助!

【问题讨论】:

    标签: javascript angularjs ionic-framework


    【解决方案1】:

    在您的模板中,this 指的是当前范围,因此您可以这样做:

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

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

    【讨论】:

    • 非常感谢!这正是我一直在寻找的解决方案。
    【解决方案2】:

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

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

    然后访问:

    {{item[variable_with_value_foo_or_bar]}}
    

    【讨论】:

    • 非常感谢您的回答。实际上,我的问题并不像我写的那么简单。我这样做有一个特定的原因。我确定这不是“最佳实践”,但我仍在学习:)
    猜你喜欢
    • 2014-01-12
    • 1970-01-01
    • 2021-08-22
    • 2015-03-19
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多