1
이벤트에 간단한 중개자 패턴을 구현하려고하지만 중재자에 이벤트 콜백을 등록 할 때 내 이벤트 콜백이 호출되고 있습니다.바인딩 될 때 백본 이벤트 콜백이 호출됩니다.
중재자는 간단하다 :
define(function(require){
'use strict';
var _ = require('underscore');
var Backbone = require('backbone');
return _.extend(Backbone.Events);
});
나는보기가로드되면
define(function (require) {
'use strict';
var Backbone = require('backbone');
var mediator = require('mediator');
var Sandbox = Backbone.View.extend({
el: '.sandbox',
initialize: function() {
this.render();
this.bindEvents();
},
bindEvents:function(){
mediator.on("sandbox:change", this.changeText(), this);
},
render: function() {
$(this.el).html("SANDBOX VIEW IS WORKING");
},
changeText: function() {
$(this.el).html("THE TEXT HAS CHANGED");
}
});
return Sandbox;
});
에서, sandbox:change
이벤트가 떨어져 해고없는 백업 모델 또는 템플릿 간단한보기 및 changeText을 만들었습니다 함수는 아무 것도 호출되지 않았는데도 호출됩니다. mediator.trigger('sandbox:change')
왜 단순히 콜백 함수가 호출 될 때 호출됩니다 중재자 객체?
코드는 this.changeText()를 호출하고 백본에게 그 호출 결과를 바인드하도록 지시하기 때문에 *. 당신이 원하는 것은'mediator.on ("sandbox : change", this.changeText, this)'입니다 ('()가 없다는 것에주의하십시오). – DCoder
아! 나는 장님이 말한 것을 본다 ... 고마워! – Mars