我得到的错误来自onShow函数的最后一行:
//modalregion: shows a modal detail view in bootstrap modal
var ModalRegion = Marionette.Region.extend({
el: "#modal",
onShow : function(view) {
view.on("close", this.hideModal,this);
this.$el.modal('show'); //<- **throws TypeError: Object [object Object] has no method 'modal'**
},
hideModal: function() {
this.$el.modal('hide'); // bootstrap modal
}
});
I have seen other posts that have error with the same form Object [object Object]没有方法'XXXX'
他们的解决方案是“停止加载jquery两次”。我正在使用require.js,所以不应该发生,但我检查了Crome Dev工具上的Network选项卡,没有任何内容加载。
这个。$ el在调试器中定义,但不是modal作为函数:
this.$el: jQuery.fn.jQuery.init
0: div#modal
context: #document
length: 1
selector: "#modal"
...snip...
load: function ( url, params, callback ) {
map: function ( callback ) {
mousedown: function ( data, fn ) {
mouseenter: function ( data, fn ) {
mouseleave: function ( data, fn ) {
mousemove: function ( data, fn ) {
mouseout: function ( data, fn ) {
mouseover: function ( data, fn ) {
mouseup: function ( data, fn ) {
next: function ( until, selector ) {
我缺少一步吗?
谢谢,
安德鲁
答案 0 :(得分:2)
该区域的$el
是一个jQuery选择器对象,并且jQuery不在此对象上提供modal
函数,而没有像jQueryUI或KendoUI这样的插件或其他可提供模态功能的插件。 / p>
提供modal
功能的插件未加载到您的页面中。你需要这个插件。