0
上午使用jquery mobile,backbone.js,marionette.js和require.js構建應用程序。 我目前正在嘗試使用jQuery Mobile的頁面加載插件的觀點,但我得到這個錯誤jquery移動頁面加載小部件不工作
Uncaught TypeError: Cannot read property 'loader' of undefined
我的應用程序的起點看起來像這樣
require.config({
paths: {
jquery: 'vendor/jquery-1.9.1.min',
'jquery.mobile': 'vendor/jquery.mobile-1.3',
'jquery.mobile-config': 'vendor/jquery.mobile.config',
underscore: 'vendor/backbone/underscore',
backbone: 'vendor/backbone/backbone',
marionette: 'vendor/marionette/backbone.marionette',
text: 'vendor/text'
},
shim: {
underscore: {
exports: '_'
},
backbone: {
exports: 'Backbone',
deps: ['jquery','underscore']
},
'jquery.mobile-config': ['jquery'],
'jquery.mobile': ['jquery','jquery.mobile-config'],
marionette: {
exports: 'Backbone.Marionette',
deps: ['backbone']
}
}
});
require(['jquery','app', 'jquery.mobile'], function ($, App) {
$(function() {
App.start();
});
});
的jquery.mobile.config文件看起來是這樣的
define(['jquery'], function ($) {
$(document).bind("mobileinit", function() {
$.extend( $.mobile , {autoInitializePage: false});
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
});
});
和視圖看起來像這樣
define(['jquery', 'marionette','text!templates/login.html'], function ($, marionette, ViewTemplate) {
'use strict';
var LoginView = marionette.ItemView.extend({
template: _.template(ViewTemplate),
events: {
'click #login-btn': 'login'
},
login: function (event) {
$.mobile.loading('show', {
text: 'Please wait',
textVisible: true
});
}
});
return LoginView;
});
可能是什麼問題?
你能建立一個小提琴 – Akki619
在第一個地方,我認爲這可能是原因的jQuery的衝突,試試這個jQuery.noConflict();請參閱http://api.jquery.com/jQuery.noConflict/ –
@SAM marionette.js庫確保與$變量不存在衝突 – MrFoh