角度替换模板中变量的字符

时间:2016-02-12 13:58:02

标签: javascript angularjs

我是Angular的新手,所以我可能很容易挣扎。

这是带有数据的JSON:

[
     {
        "date"      : "2016-02-12T20:30:00",
        "duration"  : 60,
        "supervisor": {
            "name"           : "Anna",
            "surname"        : "Nowak",
            "supervision_fee": "140.00"
        }
    }
]

我正在将其添加到这样的select元素中:

<select name="meetingSelect" 
    ng-model="meeting.active" 
    ng-options="meeting.id as meeting.date|date:'dd.MM.yy' + ' '+ meeting.supervisor.name + ' '+meeting.supervisor.surname for meeting in scheduledMeetings" 
    ng-change="" class="form-control">
</select>

但我在HTML代码中获得的内容如下: 12.02.16 AnnPM No6PMK

似乎Angular必须逃避(?)一些角色(比如'a'我们得到'PM')......

为什么会发生这种情况以及该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:2)

您的表达式被解释为:

meeting.date|date:(
   'dd.MM.yy' + ' '+ meeting.supervisor.name + ' '+meeting.supervisor.surname)

这样:

meeting.date|date:'dd.MM.yy Anna Nowak'

这是一个非常奇怪的日期格式字符串。

答案 1 :(得分:1)

它认为您打印的名称是日期格式的一部分。尝试在ng-options中使用括号。

ng-options="meeting.id as (meeting.date|date:'dd.MM.yy') + ' '+ meeting.supervisor.name + ' '+meeting.supervisor.surname for meeting in scheduledMeetings"

您的格式被解释为meeting.date|date:'dd.MM.yy Anna Nowak',其中某些字符如aspecial meaning