问题标签 [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.

0 投票
3 回答
2456 浏览

javascript - Backbone - 根据条件更改标记名

我正在尝试根据条件切换 Backbone 视图的 tagName。

我最初以为我可以设置一个默认的 tagName 说'div'(我意识到这是默认设置),然后在视图的初始化函数中,检查条件并更改 tagName 但不幸的是这不起作用。

这是我的视图代码(用coffeescript编写):

使用此代码,tagName 不会更改,它始终保持为 div。而模板切换正确。

任何帮助,将不胜感激。干杯!

0 投票
3 回答
22461 浏览

javascript - 在主干视图中绑定多种事件类型

我想知道是否可以在单行中绑定主干中的多个事件类型。

考虑以下:

基本上我想知道的是是否可以将“click”和“touchstart”的事件绑定组合成一行 - 沿着:

任何建议,将不胜感激。

0 投票
1 回答
199 浏览

backbone.js - Backbone.js 视图的特殊选项有什么特别之处?

根据backbone.jsView doc :

有几个特殊选项,如果通过,将直接附加到视图 :modelcollectionelidclassName和。tagNameattributes

我了解el, id&className用于包装任何内容render(),但是

一个物体有多 特别?_ View 方法是否使用它们?modelcollectionView

谢谢你。

0 投票
1 回答
1365 浏览

backbone.js - 主干/骨干关系应用程序中的视图 + 子视图

我通过阅读 stackexchange 学习了很多关于骨干、骨干关系和构建 Web 应用程序的知识 - 所以首先感谢社区。

现在,我一直在试图理解这个当前涉及嵌套模型和子视图的问题,在我看来这是一个非常常见的用例。

我正在尝试通过跟踪每种葡萄酒的“CheckIns”来扩展本教程以了解主干关系、视图/子视图和事件处理。

我已经扩展了服务器端来为 checkIns 返回适当的 JSON 和骨干关系模型,如下所示:

葡萄酒模型是这样的:

我创建了一个 CheckInListView 和 CheckInItemView(与 WineListView 和 WineListItemView 相同)并使用 WineView Render 函数来呈现 CheckIns,如下所示:

我还在 wineview 中创建了一个新函数,该函数创建一个签入并与给定事件相关联:

}

好的 - 如果你还没有 TL/DRed - 从 UI 的角度来看,这一切似乎都可以正常工作 - 即。一切都正确呈现并保存到 Db。

但是我在控制台中注意到,当我推送一个新的 CheckIn(在上面的 console.logs 之间)时,CheckInListView 的 Add 绑定被多次调用以按下 wach 按钮 - 这让我觉得我的视图有问题或者那个我不了解有关事件传播的基本知识。

为什么会这样?这是预期的行为吗?我是否正在接近我正在尝试正确做的事情?

如果不是您的帮助,请感谢您的阅读。

==

以下是绑定到添加(和其他)事件的 CheckinListView 和 CheckInList Item 视图的相关部分。

===============================================

关于事件绑定和关闭视图的注释是调试它的正确提示。

1) 我没有正确关闭和取消绑定嵌套视图,这留下了一些幽灵事件消费者,即使 DOM 中没有任何内容

2)如果我们只想在子视图中做某事,您只需要绑定事件。
例如 - 如果我在子视图中有复选框,我可以在主视图中绑定子视图更改事件并在那里处理事件,因为无论如何主视图都有模型。我不知道这是否是“正确”的方式,但它适用于我需要做的事情。(mm .. 意大利面条代码味道很好)

3) 努力解决这个问题帮助我对 UX 进行了更多思考,并帮助我简化了 UI。

4)我试图通过将所有数据嵌套到 JSON 调用中来“保存”对服务器的调用。如果我要重新执行此操作 - 我根本不会嵌套数据,而是通过将葡萄酒 ID 与 checkIn ID 关联起来在后端处理它,然后有一个单独的集合,一旦选择任务,该集合就会填充该集合- 我认为这不是首选方式,但它似乎是很多人的方式。

仍然欢迎对上述“正确”方式问题的任何想法,或者是否有人可以指出超出“简单主干应用程序”的教程

0 投票
1 回答
1522 浏览

backbone.js - 事件触发时 el 未定义

我从这样的一个视图触发一个事件:

并绑定到另一个视图中的同一事件:

在我的函数中,我得到了当前实例的 el 属性?

我错过了什么?

0 投票
2 回答
7627 浏览

backbone.js - 事件触发两次

我正在声明这样的视图:

然后我实例化这个视图的两个实例,就像你在这里看到的那样:http: //cl.ly/H5WI

The problem is that when the event selected is fired the function selected is called twice?

0 投票
2 回答
755 浏览

jquery - 将 jquery 自定义小部件与主干.js 视图一起使用

我有一个自定义 jQuery 小部件,该小部件从我的应用程序中调用,该应用程序使用 MVC 的主干.js。如何在我的自定义 jQuery 小部件中使用主干事件模式?

谢谢。

0 投票
0 回答
748 浏览

ruby-on-rails - Backbone.js 视图未插入模板

我正在为我的 Backbone/rails 应用程序创建用户视图。我正在尝试添加一个新视图:

/views/users/edit.js.coffee

模板位于 /templates/users/edit.jst.eco

我的路由器在 /routers/users.js.coffee 中如下所示:

索引视图/模板工作正常,视图被插入到容器 div 中。如果我将 UsersEdit 视图的 tagName 更改为“li”,我可以在 DOM 中看到 li 元素,它只是没有被模板填充。我猜这是语法问题,但控制台中没有错误。

更新:为了澄清,视图被附加,#container因为我可以看到空元素项,只是渲染模板存在问题。

template: JST['users/index']在我的 UsersIndex 视图中引用,一切正常。出于某种原因template: JST['users/edit'],即使两个模板都在同一个文件夹中,它也无法正常工作。此外,我可以在编辑模板中放置无效语法并且不会引发任何错误,因此它甚至没有被检测到我不认为

更新 2:以下视图/模板可以正常工作:

模板/用户/index.jst.eco

0 投票
1 回答
70 浏览

javascript - 两个视图,一个模型 - 如何处理两者的获取错误?

我有一个模型在 2 个视图之间共享。我希望将错误附加到在两个视图中都显示错误的 fetch 方法。

但是,如果我执行 model.fetch({error:...}),则该错误只会涉及一个视图

解决此问题的最佳方法是什么?

0 投票
2 回答
4740 浏览

javascript - 如何将 2 个处理程序附加到同一个事件?

我可以将处理程序附加到主干视图,例如:

但是如果我想将多个处理程序附加到同一个事件怎么办?

我可以创建一个自定义处理程序,例如

但这似乎并不理想...