我们的应用程序在index.mustache中使用Mustache模板,并使用Symfony进行初始API调用,而不是使用Backbone.这样用户就不会在初始页面加载时盯着空白屏幕.
现在我们如何使用Marionette绑定到DOM中的渲染页面元素(这样我们可以操纵数据并添加交互性),而不是传递新模板?
就我们的研究表明,我们需要始终将模板传递给Marionette Layout和ItemView,否则我们会得到"无模板错误".
是否有我们可以使用的el属性,就像在Backbone中一样?另一种选择是扩展Marionette.View,但不建议这样做.
我试图更好地掌握JS语法,我想知道为什么在已经声明了具有相同名称的变量之后重复对象名称的许多库中的常见做法.请看下面:
var Backbone = Backbone || {}; // <= Why the duplication?
Run Code Online (Sandbox Code Playgroud)
要么
var listeners = this._listeners || (this._listeners = {});
Run Code Online (Sandbox Code Playgroud)
更新:
经过进一步的研究,我发现了一篇非常好的文章来评估许多惯用语表达.
本文还解释了立即调用函数表达式(IIFE)背后的用法,即在函数中包装函数,如:
(function() {
console.log('Hello!');
})();
Run Code Online (Sandbox Code Playgroud)
这是另一个像我这样的新手无法理解的JS脑筋急转弯者.