以下是CoffeeScript中的代码:
class this.User extends Backbone.Model
initialize: ->
@access_token
@cur_video_id_playing
@logged_in = 0
@username
this.bind "change:username", () -> alert this.get(username)
this.user = new User;
当我在开发者控制台中并致电
时user.username = "newname"
警报不会触发。 我做错了什么?
谢谢!
答案 0 :(得分:3)
您必须使用Model::set
:
user.set 'username', 'newname'
或者,使用对象文字:
user.set username: 'newname'
用户名实际上会存储在user.attributes.username
中。在您的更改侦听器中,您应使用Model::get
访问用户名;类似的东西:
@on 'change:username', -> alert @get 'username'