我一直在做关于backbone.js中的嵌套视图的一堆阅读,我理解了很多,但有一点让我感到困惑的是这......
如果我的应用程序有一个shell视图,其中包含在使用应用程序过程中不会改变的页面导航,页脚等子视图,我是否需要为每个路径渲染shell或者我是否做某种检查视图以查看它是否已存在?
如果有人在应用程序中前进之前没有点击"主页"路线,那对我来说似乎是这样.
我在google搜索中没有找到任何有用的信息,所以任何建议都表示赞赏.
谢谢!
我的应用程序基本上采取一些形式输入并返回一组结果.我有两条路线
routes: {
'': 'search',
'search': 'search',
'results/:query': 'results'
},
results: function(query) {
var search = new ResultsSearchView();
var grid = new GridView({ query: query });
}
Run Code Online (Sandbox Code Playgroud)
如果查询包含任何字符/具体(在这种情况下可能完全发生),它们将被添加到URL并且我的路由中断.
我尝试过使用encodeURI(),encodeURIComponent()我没有运气.你们这些人怎么处理这些事情?
我正在为我的主干应用程序登录并遇到一个问题我不知道如何在不调用服务器的情况下解决.这引发了我的团队讨论其他人在骨干中处理这种事情的方式,因为我们认为我们将会遇到类似的事情.
这是星期五,我可能只是脑死了,但这里......
我们有一个用户模型.View的登录方法创建一个新的用户Model并调用它的登录方法传递用户的凭据和一个回调函数,该函数有一个包含用户信息的对象.
这是我们的View的登录方法:
login: function(event){
event.preventDefault();
var user = new App.User;
user.login($('#username').val(), $('#password').val(),
(function(msg) {
// success callback
if (msg.loggedIn) {
console.log("Authenticate successful: " + JSON.stringify(msg));
var data = { user : msg, bob : "bob", trigger:true };
console.log("Prepared data: " + JSON.stringify(data));
App.router.navigate('home',data);
} else {
console.log("Authenticate unsuccessful: " + JSON.stringify(msg));
}
}).bind(this),
function(msg) {
// failure callback
console.log("Authenticate communication failure: " + JSON.stringify(msg));
alert("Communication fail!");
App.router.navigate('login',{trigger:true});
});
}
Run Code Online (Sandbox Code Playgroud)
我们想要弄清楚的是如何最好地将这个模型数据提供给另一个路径(home),以便我们可以在View中使用它.
所以我有这个路由器:
routes: {
'': 'home',
'home': 'home',
'login': …Run Code Online (Sandbox Code Playgroud) 我正在努力使用Backbone.Marionette,并想知道是否有任何理由使用Backbone.Marionette.ItemView,当一个简单的Backbone.View就足够了?
谢谢!