问题标签 [backbone-boilerplate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5837 浏览

javascript - 使用 Backbone 的异步模板加载和渲染后操作

我正在使用主干样板来呈现我的模板,它的 fetchTemplate 方法缓存了呈现的模板。

我想在渲染的内容上运行一些额外的代码,比如初始化手风琴等,但是使用异步编译的模板来做到这一点比我想象的要棘手。

这是一个例子:

除上述内容外,我还使用http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/中概述的视图处理程序

这我做类似的事情

这叫

但是发生的情况是,当模板还没有缓存时,先调用render,然后按时调用postrender。另一方面,当模板已经被缓存时,模板被立即渲染,postrender 被调用,但view.el还没有插入到 DOM 中,因此 $(this.el) 是一个空列表,并且 $('#duel -new').each() 是“无效的”。

当然,我可以在 viewHandler 的 render 调用之后添加 postrender 方法,但这会导致相同的问题,但在第一次调用 render 方法时。由于模板尚未编译,postrender 在其元素存在之前被调用,因此无法在这些不存在的元素上定义处理程序。

关于如何正确克服这个问题的任何想法?例如,使用 .on 的简单点击事件相对简单,但是更一般的结构$('#tabs').tabs()呢?例如?

我的 fetchTemplate 函数如下:

0 投票
5 回答
424 浏览

php - 如何控制主干项目的 PHP、标头等版本的缓存?

因此,我们每周发布我们的项目,我们遇到了客户拥有某些文件的旧版本的问题。

该堆栈是带有骨干样板的 requirejs 和带有 PHP 后端的 Apache2 服务器的骨干。

我们有加载的 index html 文件、使用 AJAX 加载的模板 HTML 文件,然后是所有的 js 文件。

这个问题似乎与https://stackoverflow.com/questions/12103341/backbone-boilerplate-disable-caching有关,但我在那里没有看到一个好的答案。

我听说缓存控制标头和 mod expires 以及 PHP 的 mod 标头可能会有所帮助,但我不知道如何将它们放在一起。

本质上,我们要做的是确保在向产品服务器发布新代码时,所有内容都至少没有缓存一次。然后在那之后,提高加载速度的正常缓存将是理想的。

至少,我想了解如何完全防止这些东西被缓存。

有任何想法吗?

0 投票
1 回答
1142 浏览

backbone.js - 如何使用视图实现 Backbone 样板

我正在努力学习骨干,但说实话,我感到有点不知所措。我所看到的每一个地方都以稍微不同的方式完成,每个都有更多的框架和插件需要学习。所以我决定相信 Addy Osmani 并且正在阅读他的 Backbone Fundamentals 书。我遵循了他的建议并使用了 Backbone-Boilerplate。但是无论出于何种原因,我都无法成功安装 Grunt BBB,因此无法下载工作示例。

我想做的是遵循这个路由器部分并使用视图。http://addyosmani.github.com/backbone-fundamentals/#router.js

问题是我认为这些说明是不完整的。首先,collection.fetch() 变量在错误的范围内,我真的不明白我需要在哪里放置视图以及如何放置。我很确定,如果我能看到一个可行的例子,我就能理解它,但正如我所说,我在任何地方看到的都是不同的实现。

有谁知道如何将骨干样板与路由器和视图一起使用?任何地方都有工作示例吗?

0 投票
2 回答
1923 浏览

node.js - Node.js express rest + Backbone Boilerplate (BBB)

我使用 express 和 node.js 开发了一个休息服务。我以前使用过带有独立 java rest 服务的骨干样板,在不同的服务器实例上运行。

现在我想将 bbb 与我的节点休息服务器集成,以便在 Heroku 上轻松部署。

将 bbb 与其余服务器结合起来有什么缺点吗?

将 bbb 配置为在同一台服务器上运行的最佳方法是什么?

我进行了搜索,但没有找到有关该问题的任何讨论。

0 投票
1 回答
239 浏览

backbone.js - 命令发布和把手的主干样板问题

我似乎无法让它工作。我正在使用BBB-Handlebars。当我在开发过程中使用它时,应用程序完美呈现,我没有任何问题。一旦我运行命令 BBB release 并将我的应用程序指向构建和编译的 require.js 文件,我的模板就不会呈现。例如,我的模板将使用{{model.someAttribute}}而不是{{The models attribute}}. 因此,它保持括号完整,并且出于某种原因,Handlebars 将整个模板视为 Html。它没有渲染出数据。我通过编辑 grunt.js 文件尝试了不同的组合,但仍然没有运气。有任何想法吗?

0 投票
1 回答
1686 浏览

backbone.js - 未调用骨干路由

我有一个奇怪的问题,我还没有弄清楚。这很简单,这可能就是我遇到问题的原因:)

首先,这是路由表...

您会看到我标记了哪些有效,哪些无效。问题归结为所有子路由(即report/add)不匹配。

骨干历史在 main.js 中被正确调用,如下所示:

显然,这是在正确的位置,因为路线正在工作,而不是子路线。我已经尝试了所有root选项Backbone.history和沉默,parameter但没有任何运气。

我想这是一个配置/设置问题,但我找不到任何答案。我究竟做错了什么?任何帮助深表感谢。

顺便说一句,我正在使用 requirejs 和 Backbone Boilerplate,但我不知道这会有什么不同。

更新:虽然提供的答案在技术上是正确的,但问题出在 Backbone Boilerplate 上。有关说明,请参阅此博客文章的底部。我和那里的第一个评论者有同样的问题。

0 投票
1 回答
758 浏览

javascript - 使用backbone.js 应用程序实现一个可视加载器栏

我的backbone.js 应用程序第一次加载时,在加载模板之前需要整整6 秒的空白屏幕。我们有一些 javascript 库膨胀,构建过程还不完美,但这些是单独的问题。

我正在使用带有 require.js 的骨干样板,我希望有一种 gmail 类型的加载器,它会在所有资产、数据、模板被加载和渲染时显示出来,这样我们就不会只加载一个空白页。

反正有做这样的事情吗?

0 投票
2 回答
532 浏览

javascript - Backbone.js 模型未传递给视图

我从backbone.js 开始,用backbone-boilerplate 构建我的第一个项目。

我有一个名为 Navitem 的模块,其视图名为Sidebar

构建侧边栏时,会将包含许多Navitem.Model' 的集合传入其中。调试后,model:navitem似乎工作正常并将正确的navitem模型传递给new Navitem.Views.Item({...}). 该类看起来像:

模板看起来像<a href="#"><%= model.get('label') %></a>.

出于某种原因,当我调用Item.render()第一个代码块时,它会抱怨model视图中未定义的内容。我似乎无法弄清楚为什么会这样。有什么想法吗?

0 投票
1 回答
301 浏览

javascript - Backbone Boilerplate 条件注释

有人能告诉我Backbone Boilerplate(https://github.com/tbranyen/backbone-boilerplate/blob/master/index.html)的index.html中条件注释的重要性吗?

在构建不同版本时,它们是否与 Grunt 相关?

谢谢..

0 投票
1 回答
1836 浏览

backbone.js - 骨干样板代码和使用 grunt bbb 构建

我一直在关注Addy Osmani 关于使用 grunt 和 bbb 插件构建一个小型主干网应用程序的指南。但是,我仍然对一些事情感到困惑。例如,运行“bbb init”后,我的页面将无法加载。我在 css 和 require.js 文件上都遇到了参考错误。

我在 LAMP 环境中构建(OSX 上的 MAMP)。我知道 grunt-bbb 可以在 Node.js 上工作,但它必须这样做吗?Backbone 毕竟是一个客户端 mvc 框架,所以我相信它应该可以工作。当我运行“bbb server”来启动开发服务器时,一切似乎都很好。但我将无法部署到节点服务器。我必须在 Apache 上托管我的应用程序。