次のように、require.js でファイル構成を定義しました。
require.config({
shim: {
'underscore': {
exports: '_'
},
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'bootstrap': {
deps: ['jquery']
}
},
paths: {
jquery: 'libs/jquery-1.10.1',
underscore: 'libs/underscore',
backbone: 'libs/backbone',
bootstrap: 'libs/bootstrap',
templates: '../templates'
}
});
require(['app'], function (App) {
App.initialize();
})
そして、これは私の見解です:
define([
'jquery',
'underscore',
'backbone',
'bootstrap'
], function ($, _, Backbone, Bootstrap) {
var MainView = Backbone.View.extend({
el: $('.container'),
events: {
'click .nav-link.login': 'loginModal'
},
loginModal: function() {
this.$('#login-email, #login-password').val('');
this.$('#login-modal .alert').addClass('hide');
this.$('#login-modal').modal();
}
});
return MainView;
});
nav-link.login をクリックすると、関数「loginModal」がトリガーされますが、モーダル フォームが表示されず、他の指示が機能します。
しかし、javascript コンソールを開いて this.$('#login-modal').modal(); と書くと、うまくいきます。
DOM を調べると、ブートストラップは次のように読み込まれます。
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="bootstrap" src="js/libs/bootstrap.js"></script>
誰かが私を助けることができますか?