Backbone.js 侦听来自require模块的主干事件
我有一个像这样的主干视图WishListView.jsBackbone.js 侦听来自require模块的主干事件,backbone.js,requirejs,Backbone.js,Requirejs,我有一个像这样的主干视图WishListView.js define( [ 'jquery', 'backbone', 'wishListInfo', 'bcomWishList/views/WishListFilterUtil' ], function ( $, Backbone, WishListInfo, WishListFilterUtil ) { var wishListView = Backbone.View.extend( { fi
define( [
'jquery',
'backbone',
'wishListInfo',
'bcomWishList/views/WishListFilterUtil'
],
function ( $, Backbone, WishListInfo, WishListFilterUtil ) {
var wishListView = Backbone.View.extend( {
filterUtil : WishListFilterUtil,
wishlistInfo: '',
initialize: function () {
self.wishlistInfo = new WishListInfo( null, options );
self.listenTo( self.wishlistInfo, 'sync', self.wishlistInfoListener );
self.listenTo(self.filterUtil, 'getFilterData' ,self.render );
},
render:{
},
在这里,WishListInfo是另一个主干视图类文件,因此我能够侦听事件“sync”,工作正常,但假设我有一个js文件WishListFilterUtil,并且在该视图中作为依赖项加载,那么当我侦听事件时,我会收到错误
obj[implementation]不是一个函数
这是我的WishListFilterUtil.js文件
define( [
'jquery',
'backbone',
],
function ( $, Backbone) {
var data = {
filterQuery:[],
filterAccessController: true,
guestListShareId: '',
shareWishid: '',
}
function handleFilterView(){
if ( data.filterQuery.indexOf( "available" ) === -1 ) {
self.trigger( 'getFilterData', x );
//here i have to call the render function of WishListView.js file
} else {
self.initialize();
}
}
}
这是错误,因为获取obj[implementation]不是一个函数。请帮我做这件事
谢谢..试着用这个来代替self!我尝试了这个而不是self,但得到了相同的错误。WishListFilterUtil与主干.Event不混合,无法用listenTo处理。我猜handleFilterView函数中没有任何触发器方法。我将WishListFilterUtil作为依赖项包含在WishListView中,如filterUtil:WishListFilterUtil,我正在侦听此模块上的事件,触发器不起作用,因为这不是主干视图,