2

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"

アラートはトリガーされません。私は何を間違っていますか?

ありがとう!

4

1 に答える 1

3

使用する必要がありますModel::set

user.set 'username', 'newname'

または、オブジェクト リテラルを使用します。

user.set username: 'newname'

ユーザー名は実際には に保存されuser.attributes.usernameます。Model::get変更リスナーでは、 ;を使用してユーザー名にアクセスする必要があります。何かのようなもの:

@on 'change:username', -> alert @get 'username'
于 2012-08-12T23:55:37.127 に答える