gpt4 book ai didi

backbone.js - 在信息栏的侧边栏中显示所选模型

转载 作者:行者123 更新时间:2023-12-02 05:34:12 25 4
gpt4 key购买 nike

我正在开发一个右侧边栏的应用程序。即显示集合。集合中的每个模型都有 select 行为。

在页面的顶部中心,我有一个独立的主干 View ,它的作用类似于“信息栏”,当我在侧边栏中选择其中一个 View 时,该 View 应该更新它的信息

我该怎么做?我认为侧边栏中的每个 View 都应该具有带有模型参数的“已选择”事件,我的问题是如何在 Backbone.js 的信息栏 View 中收听该更改???

最佳答案

这听起来像是事件聚合器模式可以很好地提供服务的东西。 Derick Bailey 就此事发表了一篇非常好的文章,您可以在此处阅读。

Event Aggregator Pattern

我扩展了我的 Backbone.View,这样所有 View 都可以像这样使用事件聚合器对象。

Backbone.View.prototype.eventAggregator = _.extend({}, Backbone.Events);

基本上当您的模型 View 被选中时,您的 view.eventAggregator 将触发一些自定义事件。

sidebarView.eventAggregator.trigger('selected', this.model);

或类似的东西。使用 Backbone 事件,您可以通过触发器函数将参数传递给您的事件监听器。在上面的示例中,我传递了具有特定事件的模型。

在您的主视图中,您将监听此事件。

mainView.eventAggregator.on('selected', myFunction, this);

myFunction: function(model) {
// Some code to execute - model is available through param
}

这是一个非常有用的模式。只是不要忘记在关闭 mainView 时取消绑定(bind)事件。 :-)

关于backbone.js - 在信息栏的侧边栏中显示所选模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11926707/

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