我刚遇到一个非常奇怪的情况:
在像这样的DS.Model中:
App.Event = DS.Model.extend
date: DS.attr 'string'
name: DS.attr 'string'
startAt: DS.attr 'string'
endAt: DS.attr 'string'
startTime: (->
moment(@startAt).format 'L' # PAY ATTENTION AT HERE
).property @startAt # AND HERE
这段代码确实有效,但如果我将@startAt
更改为@get 'startAt'
,那么this
将不再指向DS.Model
的实例,而是指向{ {1}}对象!
这是两个调试截图:
这是怎么发生的?我已将此代码放在网上:http://jsfiddle.net/nightire/EJqRA/
答案 0 :(得分:3)
我不知道coffeescript,但我想你的问题将通过更换来解决
App.Event = DS.Model.extend
date: DS.attr 'string'
name: DS.attr 'string'
startAt: DS.attr 'string'
endAt: DS.attr 'string'
startTime: (->
moment(@get 'startAt').format 'L'
).property @get('startAt')
到
App.Event = DS.Model.extend
date: DS.attr 'string'
name: DS.attr 'string'
startAt: DS.attr 'string'
endAt: DS.attr 'string'
startTime: (->
moment(@get 'startAt').format 'L'
).property('startAt')