问题标签 [chaplinjs]
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.
javascript - 如何使用带有 bruch-with-chaplin 样板的 Sinonjs
我从早午餐与卓别林样板开始,但我想在混合物中添加 sinon 和 qunit。所以我将它们添加到bower.json
并安装它们bower install <lib>
。它工作得非常顺利,但现在我想访问这样的功能:
更新:
当我手动构建时brunch build
出现错误
所以我"main":"sinon.js"
没有任何运气就添加到文件中。
backbone.js - 使用 RequireJS 的 Chrome 扩展,Backbone (Chaplin) 冲突
我正在创建一个必须在访问过的网站上添加内容的 Google Chrome 扩展程序(如工具箱)。
我必须使用 RequireJS 和 BackboneJS(Chaplin),一切都很好,除非我使用 RequireJS(和 Backbone,但问题似乎来自 RequireJS 冲突)访问网站。(这是当我使用内容脚本来包含一个包含 RequireJS 的 -script- 标记时。)
我想如果我直接在页面中添加内容发生冲突是正常的,所以我在这里尝试了解决方案:Loading multiple instances of requireJS and Backbone
它似乎工作(目前),但该网站正在尝试在加载我的之前重新加载他自己的 RequireJS 文件(使用他的路径,但在我的扩展中),我担心它可能会导致意外行为。另外,我必须在 requirejs.config 中精确我的文件路径,或者它正在 Bitbucket 源(云端)中寻找它们。(也许这很正常)
bitbucket 示例:
<--------- 这个文件是 Bitbucket 的 RequireJS,虽然 Bitbucket 仍然可以正常工作
还有其他我还没有找到的解决方案吗?还是我做错了?我是 RequireJS(和 Chrome ext.. 和 Backbone...)的初学者,所以我可能错过了一些东西。
这是 manifest.json 中的内容脚本部分
init-app.js 是 Rob 的脚本
并且 main.js 包含 requirejs.config + app
例如,它适用于 gooogle.com,但我明白了
在https://www.cloud9trader.com(使用 RequireJS 的网站)上,因为它有
在它的源头。总而言之,我只需要脚本来忽略“当前”网站 Require 文件。
javascript - 使用干净的 url 将模型传递给 chaplinjs 中的其他控制器
我正在使用带有一些附加库(sinon、selenium、chai 和 mocha)的 brunch-with-chaplinjs 样板。现在我想将模型从视图(确切地说是集合视图)传递给另一个控制器进行编辑。
我可以这样做:
但这使我的网址变得混乱:
我似乎找不到任何可接受的方法来保持 url 干净并且仍然将整个模型传递给另一个控制器而不从服务器重新获取模型。
chaplinjs - 具有两个不同站点视图的 Chaplinjs 组合
我必须有两个不同区域的不同站点视图。
如何以正确的方式在 beforeAction 方法中编写作文?
我想要的是
javascript - Chaplin.js 动画过渡
是否有像这样的动画过渡插件,但对于 Chaplin.js,而不是 Ember?
谢谢你的帮助。
requirejs - 同步加载一个卓别林模块
我正在尝试仅加载event_broker module in the chaplinjs
.
我可以通过做类似的事情来做
但是,就我而言,这还不够好。我需要能够同步加载 event_broker 模块。我知道这是需要设计的。有没有办法做到这一点?
javascript - 您如何知道集合视图中的所有项目视图何时都已呈现?
我有一个带有以下流程的主干.js/Chaplin 应用程序:
- 用集合实例化的集合视图
- 从服务器获取集合
- 在集合同步时,为集合视图内的每个模型呈现一个“项目视图”。
这可能是一个包含大量待办事项的待办事项列表。假设有 1000 个待办事项。
当所有待办事项都被渲染时,我想对集合视图应用 jQuery 效果,所以我需要确保所有项目视图都被完全渲染。
在应用 jQuery 效果之前,确保所有项目都已在集合视图中呈现的最佳方法是什么?
我目前正在等待渲染最后一个视图,然后调用 jQuery 效果,但这不起作用,因为似乎还没有在页面上绘制 html。只有当我添加超时时它才能正常工作。
这是项目视图中渲染函数的代码:
javascript - 在监听块例程中使用“调解器”作为接收器
我有一个由其他人构建的 ChaplinJS 项目,但我并不完全了解框架的某些细节。这是我觉得很难理解的一点:
此代码块位于其中一个视图 JS 文件中。我对这种事件处理方式很熟悉,我的理解是第一个位(“home:actionvideo”)是一个事件的名称,第二个部分(“mediator”)是一个元素选择器,后面的位冒号是响应事件而运行的函数的名称。
但是在卓别林的世界里,我认为“中介”实际上是指卓别林核心Chaplin.mediator
对象。这个对吗?
当我这样做时,第一行是否change model
以某种方式听a Chaplin.model
?哪个Chaplin.model
?
javascript - 科尔多瓦 wp8 中的 HashNavigation 挂起应用程序
我有下一个代码
问题是在更改 url 哈希(两种变体)后,应用程序就会挂起。有趣的是,第二个警报没有触发。所以应用程序只是......一段时间后崩溃。js控制台中什么都没有。调试日志说
线程 0x*** 已退出,代码为 259 (0x103)。
谷歌对此一无所获。似乎这是一个常见的错误代码。更多细节:我正在使用 ChaplinJs,所以无法摆脱哈希导航。
第二个想法是卓别林使系统过载,我们无法到达任何地方,但是(!)将日志和警报放在 window.on('hashchange',....) 中的 lib 源中也没有做出任何努力,因为我们没有也到那里。
WP 8.0 尝试了 Cordova 4.* 和 5.* 也尝试修改 xhrXelper.cs 但它与导航本身无关。
PS:我知道 jquery mobile 建议禁用 hashchanges onmobile 导航。但我不能:(
PPS:还尝试禁用卓别林的变化
但这也没有产生任何好的结果,因为它将哈希放置到 href 以在间隔中检查它并且应用程序再次挂起。所以我认为这是一个 webview 问题
更多附加信息:应用程序的连续重新运行有时会使其工作(10 次运行可以使其工作)。这很奇怪。
模拟器和设备的行为方式相同。
更新:在某处读到在“deviceready”事件之前限制导航至关重要。但这也不是个案。
Update2:从头开始创建cordova proj。在deviceready cb中添加了哈希更改,它挂起
更新 3:8.1 上的相同代码完美运行
iframe - 主干视图和 iFrame
我想知道我是否以正确的方式做事以避免内存泄漏。
所以,我在 Backbone 视图中有一个 iFrame。单击该 iframe 中的某些元素时,我想在视图中执行某些功能。
例如
假设该 iFrame 中有一个 div 元素,并且希望在单击该 div 时更改该 div 的颜色。
所以在 afterRender() 钩子里面我添加了如下的事件绑定:
那么我应该如何解除绑定事件或应该做哪些其他事情以避免内存泄漏。
目前在 dispose 方法中,我正在分离事件。