所以,第一个问题我找不到答案.可能有足够的理由问我自己的第一个问题.如果答案可以在backbone.js的范围之外找到,那么道歉.
在backbone.js应用程序中,我需要访问不同函数中的几个变量,因此我必须使用一些全局变量设置.
我想知道我目前的解决方案是否可以接受/良好实践.我的IDE(IDEA)似乎认为它不是:
var MyModel = Backbone.Model.extend({
initialize:function(){
var myGlobalVar, myOtherGlobalVar;//marked as unused local variable
},
myFunction:function() {
myGlobalVar = value;//marked as implicitly declared
model.set({"mrJson": {"email": myGlobalVar}});
model.save();
});
}
},
myOtherFunction:function() {
myOtherGlobalVar = otherValue;//marked as implicitly declared
model.set({"mrJson": {"email": myGlobalVar, "other": myOtherGlobalVar}});
model.save();
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试声明隐式声明的全局变量,但这导致它们无法从其他函数访问.
有没有一种正确的方法来处理backbone.js中的这些全局变量?
所以,我发现可以使用以下方法在Handlebars中访问数组元素:
{{myArray.2.nestedObject}} and {{myArray.0.nestedObject}}
Run Code Online (Sandbox Code Playgroud)
..例如获取第三个和第一个元素.(handlebars-access-array-item)
有没有办法从数组中获取最后一个元素?我尝试为它创建一个帮助器:
Handlebars.registerHelper("lastElement", function(array) {
return array.last(); //Array.prototype extension
});
Run Code Online (Sandbox Code Playgroud)
...并在模板中按如下方式调用它:
{{lastElement myArray}} or even {{lastElement myArray.lastElement nestedArray}}
Run Code Online (Sandbox Code Playgroud)
可悲的是,这不起作用.辅助函数显然返回字符串.我需要的是一种即使使用多维数组也能够做到这一点的方法.