gpt4 book ai didi

backbone.js - 使用 backbone.marionette 获取 "NoTemplateError: Could not find template"

转载 作者:行者123 更新时间:2023-12-04 02:37:18 26 4
gpt4 key购买 nike

在我尝试编写的这个 coffeescript+backbone.marionette 应用程序中,当我尝试在我的内容区域中显示不同的 View 时,我收到“NoTemplateError:找不到模板:‘#second-template’”。

下面是两段代码,是基于David Sulc's Backbone Books tutorial . WelcomeApp 显示正常,但是当我单击然后调用 MyApp.SecondApp.display() 的菜单项时,我得到了 NoTemplateError。

window.MyApp = MyApp = new Backbone.Marionette.Application()

MyApp.addRegions
menu: '#menu'
content: '#content'

class MyApp.MenuView extends Backbone.Marionette.View
el: '#menu'

events:
'click #get-second': 'showSecond'

showSecond: ->
MyApp.SecondApp.display()

MyApp.vent.on 'welcome:rendered', ->
menu = new MyApp.MenuView()
MyApp.menu.attachView(menu)


MyApp.WelcomeApp = do ->
WelcomeApp = {}

class WelcomeLayout extends Backbone.Marionette.Layout
template: '#content_welcome-template'

WelcomeApp.display = ->
WelcomeApp.layout = new WelcomeLayout()

WelcomeApp.layout.on 'show', ->
MyApp.vent.trigger 'welcome:rendered'

MyApp.content.show MyApp.WelcomeApp.layout

return WelcomeApp


MyApp.SecondApp = {}

class MyApp.SecondApp.WelcomeView extends Backbone.Marionette.ItemView
template: '#second-template'

MyApp.SecondApp.display = ->
welcomeView = new MyApp.SecondApp.WelcomeView()
MyApp.content.show welcomeView

MyApp.addInitializer ->
MyApp.WelcomeApp.display()

我的模板只是 index.html 中的脚本 block 。实际上,我将 WelcomeApp 使用的模板与 SecondApp 使用的模板进行了交换,当我这样做时 WelcomeApp 可以很好地找到“#second-template”。

我在 backbone.marionette 0.9.10 和 0.9.11 上都试过了。

如有任何帮助,我们将不胜感激!

最佳答案

感谢两位对我的问题发表评论的人。在剥离 HTML 和 coffeescript 代码时,我注意到我的 HTML 中的一个 div 使用 <div> 错误地关闭了。 .一旦我将其固定为 </div>一切正常。愚蠢的错误,但直到我将 HTML 剥离得足够多以至于它就在我面前时,我才看到它。我需要更好的语法检查。

关于backbone.js - 使用 backbone.marionette 获取 "NoTemplateError: Could not find template",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12000301/

26 4 0