在ng-repeat表达式内动态绑定

时间:2015-01-15 06:36:01

标签: angularjs-directive ng-repeat

对于电视指南,我试图在ng-repeat指令中创建一个动态表达式,如下所示:

<div ng-repeat="programme in programmes['{{channel}}-wed-jan-14']" alt="{{channel}}">
我的控制器中的

{{channel}}应评估为“eTV”之类的内容。绑定在alt =“{{channel}}”实例中正常工作,但与数组实例无关。 Angular只是提供注释掉的代码行。如果我硬编码“eTV”字符串代替{{channel}},它可以正常工作。

我是否试图让Angular去做它不适合的事情,或者可能是我的阵列处理是不是很狡猾?

1 个答案:

答案 0 :(得分:0)

好吧,不确定我是否只是问了一个愚蠢的问题,但在没有回复的情况下,我设法通过编写如下过滤器来找出解决方案:

模板:

<div ng-repeat="programme in programmes | getChannelDay:channel:dayString" alt="{{channel}}">

控制器过滤器:

app.filter('getChannelDay', function() {
   return function(programmes, channel, dayString) {
      return programmes[channel + dayString];
   };
});

我最初的问题

的问题
<div ng-repeat="programme in programmes['{{channel}}-wed-jan-14']" alt="{{channel}}">

是我试图将{{channel}}放在表达式中,但这是标记的格式。

我尝试使用以下代码:

<div ng-repeat="programme in programmes['channel + daystring']" alt="{{channel}}">

但我在这里做错了。我很确定有办法让这个工作 - 如果有人知道,请发表评论。

相关问题