【问题标题】:Dynamic loading Backbone view with Requirejs使用 Requirejs 动态加载 Backbone 视图
【发布时间】:2013-10-09 14:49:29
【问题描述】:

我使用 require.js 和 Backbone 来加载我的不同视图。

为了定义视图,我使用了由路由器启动的这段脚本:

var view = require([
  'hbs!tpl/'+name,
   'views/'+name,
   data.path       
], function(Tpl,module,data){

       options.template = Tpl;
       options.data = data;
       return new module(options);
});    

Backbone 视图接收有用的选项,例如已编译的模板和模型定义。

当我删除我的 Backbone 视图时,有没有办法删除 Require.js 添加到 head 标签中的脚本?

【问题讨论】:

    标签: backbone.js requirejs


    【解决方案1】:

    删除 Require.js 添加的脚本标签不会卸载 javascript。

    我的意思是去掉这个脚本标签是没有用的。你不应该关心这个,它不会改变你页面的反应方式。

    【讨论】:

    • 谢谢Simon,不过只要是单页应用,用很多内存不是有风险吗?
    • 这并没有使用很多内存。另外,加载的 JavaScript 不会占用大量内存。使用内存的是像巨大的画布和 3d 渲染这样的密集过程。当然,进程中的内存泄漏经常发生(例如在滚动/调整大小的侦听器上等)。在任何情况下,Require.js 都不会消耗客户端内存,也不会导致它崩溃。
    • 还有一个问题,使用这种技术来加载我的不同视图/模型,是否可以使用 R.js 优化整个应用程序?
    • 不,您不能在定义或需要模块名称中使用变量并期望它被 R.js 解析。您应该查看Backbone-Boilerplate 以帮助您开始构建良好的结构。
    • 这不是完全不可能的,你只需要通过编写一个requirejs插件来弄脏你的手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多