gpt4 book ai didi

ajax - 如何使用 MarionetteJS 消费 Api 调用。

转载 作者:行者123 更新时间:2023-12-02 20:51:32 24 4
gpt4 key购买 nike

如何在 Marionette.js 中仅使用您想要的 API 调用部分使用下面的代码:

/messages 返回 JSON:

messages.foo
messages.read
messages.friend
messages.following

如何使用基于一次提取的 Marionette View 模型为 3 个不同区域创建三个不同的 View 。 (如果能在一个 View 中显示已读/未读就好了)

var MessageModel = Backbone.Model.extend({
urlRoot: '/messages',
});

var MessageCollection = Backbone.Collection.extend({
url: '/messages',
model: MessageModel,
});

var messages = new MessageCollection();
messages.fetch();

最佳答案

所以我认为你想要的是一个 Controller 。 Controller 可以充当 View 和实体(即模型和集合)之间的中间人。

您不是直接调用 View ,而是调用 Controller ,该 Controller 会获取实体并在完成后实例化适当的 View 。

这是一个例子:

var MyView = Marionette.View.extend({
// ... view options
});

var MyCollection = Backbone.Collection.extend({
// ...
});

var MyController = Marionette.Controller.extend({
initialize: function(options) {
var self = this;

this.entity = options.entity;
this.region = options.region;

this.entity.fetch({
success: function() {
self.showBaseView();
}
});
},

getBaseView: function() {
return new MyView({ collection: this.entity });
},

showBaseView: function() {
this.region.show(this.getBaseView());
}

});


var controller = new MyController({
entity: new MyCollection(),
region: App.mainRegion
});

虽然这仅使用一个 View 和一个区域,但您可以根据您的应用程序的需要进行配置。其原理是 Controller 充当入口点,处理使用一个实体渲染多个 View /区域所需的所有依赖项。

您可以在这里看到一个非常简单的示例:https://github.com/tnbKristi/kristi-yo/blob/master/app/scripts/modules/home/components/skills/skills-controller.js

关于ajax - 如何使用 MarionetteJS 消费 Api 调用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24018350/

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