Я создаю очень простое базовое приложение для ознакомления с фреймворком.Все работает, кроме привязки событий изменения модели к функции на мой взгляд.Я проверил предыдущие вопросы по SO, и ни один из них не помог.
В моей модели есть одна переменная 'counter'.Вид имеет 2 кнопки, которые увеличивают или уменьшают «счетчик» модели.Простые вещиЭто все работает нормально, но когда я пытаюсь прослушать события изменения модели в представлении, я получаю уведомление только один раз - при создании модели (я полагаю, что при создании значений по умолчанию).
Я знаю, что счетчик обновляется, потому что, если я вручную вызываю рендер после обновления модели, я вижу эффект, но в интересах лучшей структуры mvc-ish, я хочу просмотреть, чтобы получать уведомления о событиях измененияи обновить себя.
Ниже приведен код кофейного кода.
$ ->
class Count extends Backbone.Model
defaults: counter : 0
change: -> console.log('changed')
class Spinner extends Backbone.View
el: $('#counterView')
initialize: =>
@model = new Count()
@model.bind 'change' , @update()
events:
'click button#incBtn' : 'inc'
'click button#decBtn' : 'dec'
inc: ->
@model.set counter : @model.get('counter') + 1
dec: ->
@model.set counter : @model.get('counter') - 1
update: ->
console.log('update')
$('#num').html(@model.get 'counter')
view = new Spinner()
HTML:
<body>
<div id="counterView">
<button id="incBtn">Increment</button>
<button id="decBtn">Decrement</button>
<div id="num">Number</div>
</div>
</body>
Заранее спасибо.б