gpt4 book ai didi

javascript - 是否有一个标准的设计模式来处理具有读写状态的 View ?

转载 作者:行者123 更新时间:2023-12-02 04:55:57 26 4
gpt4 key购买 nike

我想知道是否有任何标准设计模式被 Backbone(和类似)社区作为一个整体使用,反射(reflect)了 View 组件的可读性和设计的“最佳实践”,而不仅仅是将数据呈现到最后-user 但也允许编辑他们的内容。用户可以通过与链接或按钮交互来在读写演示之间切换。我想到的行为类型的一个很好的例子是 Stack Overflow Career 的网站,它允许您编辑您的条目并在读写上下文之间切换。

据我所知,是否有两种方法:

  1. 创建一个包含只读数据以及 <form> 的模板在单个模板中并连接显示/隐藏功能。
  2. 创建两个独立的 View ,一个用于只读数据,另一个用于<form> ,并独立呈现两者。

还有其他的吗?社区中是否出现了关于应如何处理此设计模式的偏好?

最佳答案

如果您在表示层上更改某些内容,您绝对应该更改模型(例如在某些事件上)。它可以是您 View 中的经理。例如:

    vare View = Backbone.View.extend({
className: 'panel-body',

template: 'datalibrary/dl-upload-form-file-view',

events: {
'change .someSelector': 'someHandler'
},

initialize : function(){
this.listenTo(this.model,'change','modelChangehalder')
}

someHandler: function(e){
// update model here
},

modelChangehalder : function() {
// some updates on model change
}

一旦你在你的模型中有了你的状态,你就可以随心所欲地玩,并将它保存到服务器,保存到存储或任何你想要的。

另请查看 Backbone.Controller项目。它允许将 C 添加到 Backbones MV* 模式。在这种情况下,您将能够在 Controller 内管理您的 View 模型关系,我认为这是更好的方法。

关于javascript - 是否有一个标准的设计模式来处理具有读写状态的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292240/

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