backbone.js - RequireJs 文本插件似乎没有将模板加载到 DOM 中

标签 backbone.js requirejs

我正在构建一个应用程序,前端使用 Backbone /RequireJs,后端使用节点/express。全部用 CoffeeScript 编写。我无法正确加载 HTML 模板文件和文本!插件。

我的配置如下:

  require.config 
    paths:
      app:              'app'  
      jquery:           'libs/jquery-1.7.1'
      jqueryTmpl:       'libs/jquery.tmpl'
      jqueryUI:         'libs/jquery-ui-1.8.18.custom.min'
      underscore:       'libs/underscore.amd'
      order:            'libs/order'
      backbone:         'libs/backbone.amd'
      handlebars:       'libs/handlebars'
      bootstrap:        'libs/bootstrap/js/bootstrap'
      marionette:       'libs/backbone.marionette'
      modelbinding:     'libs/backbone.modelbinding'
      validation:       'libs/backbone.validation'
      jqueryQtip:       'libs/jquery.qtip'
      utils:            'utils'
      jqueryDatatables: 'libs/datatables/jquery.dataTables'
      DT_bootstrap:     'libs/datatables/DT_bootstrap'
      user_maintenance: 'templates/tmpl.user.maintenance'

  require [
      "require",
      "jquery",
      "underscore",  
      "backbone",  
      "order!jqueryTmpl",
      "order!marionette",
      "order!validation",
      "app"
  ]

这是我的观点之一的开始:-

define (require) ->

  Backbone = require 'backbone'
  Backbone.ModelBinding = require 'modelbinding'
  require 'jqueryUI'
  require 'jqueryQtip'

  require '../../scripts/text!user_maintenance.html'
  Utils = require '../../scripts/Utils.js' 

  class UserMaintenanceView extends Backbone.Marionette.ItemView
    template: "#tmpl-user-maintenance"
    className: "row"
    .
    .
    .

如果我查看 Chrome 开发者工具中的网络选项卡,就会发现 /scripts/templates/tmpl.user.maintenance.html 文件已通过 GET 加载。单击它会显示如下所示的内容。 (为了简洁起见,我删除了内容,它只是 HTML)

<script type="text/x-jquery-tmpl" id="tmpl-user-maintenance">

</script>

我没有收到任何脚本错误,但模板没有出现在 DOM 中,并且我的 View 没有呈现。如果我只是将 HTML 模板粘贴到主 HTML 文件中并且不尝试使用文本插件加载,一切都会正常工作。但我想将我的模板分成单独的文件。

知道我做错了什么吗?

最佳答案

text!plugin 不会将文本注入(inject)到 DOM 中,它只加载给定的文件,并且由您来处理内容。请参阅http://requirejs.org/docs/api.html#text了解更多信息。

关于backbone.js - RequireJs 文本插件似乎没有将模板加载到 DOM 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9888520/

相关文章:

backbone.js - 如何从 Backbone .js中的 View 访问模型数据

backbone.js - 多条匹配路线

javascript - 如何在 Parse Cloud Code 中获取对象

javascript - 使用 requireJS 提供的 javascript 语言文件时,如何调整外文字符?

javascript - window.onload 不调用函数

Backbone.js 模型默认值和解析

javascript - Jquery 移动弹出窗口未使用 requireJS 和 backboneJS 触发

javascript - requirejs 优化器命名模块错误

javascript - 使用 RequireJS 加载时未定义 React

javascript - Charles 代理的 Require.js 超时