gpt4 book ai didi

rest - 路由器、模型或 View ,哪个是发起者

转载 作者:行者123 更新时间:2023-12-02 02:06:54 24 4
gpt4 key购买 nike

我正在尝试尽可能延迟加载,

但是,我对如何开始感到困惑,这是我的“顺序理解”:

目标:创建一个包含服务器上现有联系人的联系人页面

  • Step1.0:使用路由器:<div id="contacts">必须存在才能触发规则,所以我退回到 (Step0.9),
  • Step0.9:在正文中创建此 div。好的,路由器找到#contacts,哦,但这是一个 View ,好吧,退回到(Step0.8)。
  • Step0.8:删除在 body 中创建的 div并将其替换为 View :
contactsView = Backbone.View.extend 
tagName: 'div',
id: 'contacts'

要延迟加载,这个 View 应该只在我的路由表中触发#contact 时创建,但我只是将它从 body 中删除,它确实存在了,我回到了 Step1.0 ???

找到了一些教程,显示了全局变量设置...拜托,使用路由器、 View 、它们的模型和集合的一般情况应该如何进行(答案不需要代码,每个步骤只需一行) ?

我知道可以有多种方法,但创建元素最常见的 Backbone 步骤策略是什么。

提前致谢。

最佳答案

我不能 100% 确定我理解正确。如果我不明白,请在评论中告诉我。

关于 Backbone.Router 的一般用法,您的问题似乎有些困惑。当路由器将路由映射到 URL 片段 #contacts 时,这与 ID 为 #contacts 的 DOM 元素无关。哈希符号恰好是 URL 片段 id CSS 选择器的标识符,但相似之处仅此而已。

通常我的路由器看起来像这样:

var AppRouter = Backbone.Router.extend({
routes: {
contacts: "contactList"
},
contactList: function() {
var contacts = new ContactCollection();
var view = new ContactListView({collection:contacts});
view.render().$el.appendTo("#contacts");
}
});

请注意,#contacts 元素不需要这样命名。您可以将其命名为 #pony,或者您可以根据需要将 View 直接渲染到文档 body

所以在这些术语中,工作流程是:

  1. 路由器被攻击
  2. 集合已初始化
  3. View 已呈现

关于rest - 路由器、模型或 View ,哪个是发起者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14588962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com