问题标签 [backbone-views]
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.
backbone.js - Backbone JS,获取时集合视图为空一秒钟
我将集合绑定到 DOM 元素“#collection_view”。
当收集获取数据并更新视图时,视图变为空一秒钟,然后填充正确的 HTML。在集合中有 addAll、addOne 方法将列表元素附加到列表中。
如何跳过空的,直接用新的 HTML 替换旧的 HTML?
backbone.js - 如何从backbone.js中的视图访问模型数据
我有一个名为 person 的模型:
现在我有一个看法:
创建了一个视图对象:
尝试访问名称:
但我得到了这个错误:
你能告诉我如何正确地做事吗?我才刚刚开始了解backbone.js,所以请多多包涵。
javascript - 使用行视图的主干表视图 - 如何构建?
我有一组希望在表格视图中呈现的模型。每个模型应由表中的一行表示,并且应使用模板生成该行。我应该能够将事件处理程序附加到该行(例如单击),以便在事件警报时发出有关与该行关联的模型的一些特定信息。
我见过与此类似的事情的一种常见方法是将每一行分成它自己的视图,并有一个父视图(在这种情况下说是表)使用行视图生成要包含在你的代码中的 html . 但是我无法弄清楚这如何与模板一起使用。
在这种情况下,我不能将事件专门附加到 RowView,因为它没有引用 dom 元素(this.el
对于主干),它只是返回一个字符串。我怎样才能实现我想要的,同时使用模板来最大容量?
问题不是专门针对事件、模板化或使用嵌套视图,而是更多关于使用 Backbone 实现这种输出的正确方法。
示例代码(也在小提琴中):
谢谢!
jasmine - 茉莉花中的主干视图实例化不正确
使用 chrome 开发工具。当我在应用程序中实例化一个视图时,我得到了这个......
从茉莉花我得到以下(和规格失败)
为什么 el: 在茉莉花中实例化时未定义?
SearchView 是这样定义的...
和这样的规格......
jquery - 创建backbone.js视图时出错-在instanceof检查中需要一个函数,但得到了[object Object]
我正在尝试使用以下代码创建一个简单的backbone.js 视图:
但
我收到一个错误,期望在 instanceof 检查中使用一个函数,但得到 [object Object]
在这条线上 - new BodyView()
;
如果我使用旧版本的主干.js(0.3.3),则此代码有效
知道为什么会发生此错误以及如何解决它吗?提前致谢。
PS - 我主要关注http://backbonetutorials.com/what-is-a-view/和http://documentcloud.github.com/backbone/#View来创建这个示例主干 js 应用程序。
javascript - Backbone.js:在 Collection 中使用时不会触发模型事件
在这里,我有一个 Backbone.js 模型 - 联系人和一个集合 - 以联系人为模型的联系人。我有两个视图,其中一个使用集合列出所有联系人,第二个使用模型直接显示单个联系人。但是当我直接使用模型时,我可以在与集合一起使用时触发'change'事件,而不会触发'change'事件(甚至模型的'所有'事件)。我是否在这里缺少一些额外的绑定以使其与集合一起使用?
更新 同时使用集合和单个模型实例时,我必须运行 generateUrls() 以根据模型的“id”更新 urlDisplayPicBig 和 urlDisplayPicSmall。
backbone.js - 主干和 document.title
我正在使用backbone.js 创建一个单页应用程序,并且想知道处理更改标题的最佳方法。我正在考虑在视图中有一个“标题”选项,并让路由器(以某种方式)设置 document.title。有没有人实现过类似的东西?谢谢
javascript - 点击事件未触发
我已经环顾了一段时间,但无法找到任何暗示这是什么原因的东西。
我的代码:
上面的代码作为最后一项包含在<body>
. HTML如下。
所有必需的元素都存在(据我所知),我没有手动设置el
视图的属性。我不知道为什么单击 时事件没有绑定/触发<h3>
。
编辑如果我不使用路由器并自行创建视图,则不会引发错误并且该功能有效。例如
backbone.js - 主干集合移除,ReferenceError: el is not defined
我有一个集合的视图,当我调用它的 remove 方法时,我也调用它的集合 remove 方法,我得到一个 'ReferenceError: el is not defined' 这对我来说没有任何意义,为什么会一个集合需要一个 el。
调用代码:
视图中的删除方法:
我想这可能是从集合/视图中删除元素的更好方法,但是集合抱怨没有 el 似乎仍然很奇怪,有什么想法吗?
提前致谢。
以防万一,
视图定义:
查看实例化:
backbone.js - 何时是在 Backbone js 中获取集合的合适时间?
所以我正在开发一个主干应用程序,并尝试使用 require.js 尽可能多地模块化事物。 这一直是我的向导。
我无法让我的视图始终获取我的收藏。如果我从基本 url ( ) 访问我的应用程序myapp.com/
,并转到我的视图的路线,则会获取该集合。如果我不去视图,而是从 访问它myapp.com/#/campaigns
,则不会获取集合。
这是一些相关的代码。
路由器.js
收藏/campaigns.js
意见/活动/list.js
关于我做错了什么的任何想法?我相信这与调用视图this.collection.fetch()
的initalize
功能有关。如果这是问题,我应该把它放在fetch()
哪里?