【发布时间】:2014-04-24 09:21:00
【问题描述】:
如何实现可编辑视图?例如,我有一个PersonView。默认视图将显示人员信息。然后当我双击时,我想进入“编辑模式”,我可以在其中编辑字段。我想你能想象我的意思吗?它的常见“模式”。我该如何实施? “简单”的方式可能在 dblClick 我用其他东西替换现有的 HTML。但它似乎不正确......这怎么能做到?
【问题讨论】:
标签: backbone.js view marionette
如何实现可编辑视图?例如,我有一个PersonView。默认视图将显示人员信息。然后当我双击时,我想进入“编辑模式”,我可以在其中编辑字段。我想你能想象我的意思吗?它的常见“模式”。我该如何实施? “简单”的方式可能在 dblClick 我用其他东西替换现有的 HTML。但它似乎不正确......这怎么能做到?
【问题讨论】:
标签: backbone.js view marionette
您可以通过多种方式实现这一目标: 交换意见, 内联编辑, 交换模板
这里有一个很好的教程来解释你需要什么:
http://net.tutsplus.com/tutorials/javascript-ajax/build-a-contacts-manager-using-backbone-js-part-4/
【讨论】:
您可以在文本字段中添加一些类,例如.disabled。您还必须通过添加 disabled 属性来禁用此字段。然后将 css 规则添加到 .disabled 类,使其像纯文本(删除填充、边距、边框等)。然后在dblClick 事件中删除类和属性。
【讨论】:
您不能创建另一个视图进行编辑吗?因为您将需要在编辑视图中分开不同的事件。这是我放在 jsfiddle 中的东西
您实际上可以创建一个新视图,将模型传递给新视图,并将其显示在一个区域中
newValue = ev.target.value;
this.model.set('contentPlacement', newValue)
mainView = new MainView({ model: this.model });
App.mainRegion.show(mainView)
【讨论】: