当括号冲突时如何在Angular中获取对象值?

时间:2014-05-06 21:52:06

标签: javascript angularjs frontend

我有一个奇怪的情况:由于我们的Django后端,我们将前端Angular括号更改为括号,但现在我无法动态访问对象值,例如:

<div>[[ house.basement ]]</div>
<div>[[ house.attic ]]</div>  

以上作品,但下面不会:

<div>[[ house[floor] ]]</div>

这里有直接的解决方案吗?我可以使用一个函数来寻找地板,但它的效率会低得多。

这是我的简化控制器:

var MyCtrl = function($scope) {
    $scope.floor = 'basement';
    $scope.house = {
      'basement': 'boo';
      'attic': 'yay';
    };
};

有一个控制地板模型的单选按钮,但我认为这不太重要。

修改

所以根据评论,我不清楚,我想根据$ scope.floor的变化来访问$ scope.house的值。这在正常角度下工作得很好:

<div>{{ house[floor] }}</div>

它会显示'boo'。问题是因为我们将括号更改为括号,解释器出现故障,我们不确定如何正确转义。

1 个答案:

答案 0 :(得分:1)

使用ng-bind。

<div ng-bind='house[floor]'></div>

http://plnkr.co/edit/diL34NCmoUPcd3AZZ3jb?p=info