gpt4 book ai didi

javascript - 在 Marionette 中从另一个应用程序调用一个应用程序的 View

转载 作者:行者123 更新时间:2023-12-02 15:53:30 28 4
gpt4 key购买 nike

我有一个IdentificationView,它必须调用不同应用程序中另一个 View 的方法:

var NameAndIdentificationView = Application.Views.ItemView.extend({
loadMailingAddressView: function() {
//call to mailing address view method setAddress() from here
}
});

现在我的MailingAddressView是这样的:

var MailingAddressView= Application.Views.ItemView.extend({
setAddress: function(address) {
if (address != null) {
// this.autoCompleteBox.data('inputData') = address;
ProWeb.EXTRACTED_ADDRESS = address;
this.model.set('mailingAddress', address);
}
}
});

我想知道如何从一个 View 调用另一个 View 的方法。请提供建议。

编辑:

这就是我的应用程序的设置方式:

  1. 调用第一个应用
  2. 然后调用 Controller
  3. Controller 内部调用并初始化 View

因此,在我的 NameIdentificationView 中,我调用 MailingAddress 应用程序,该应用程序反过来控制调用 Controller 及其 View 的所有过程。

最佳答案

您可以使用事件 channel 、在共享模型上触发和监听事件等多种方式来实现此目的,更简单的方法是使用 Bsckbone 事件。

在调用者中触发事件

loadMailingAddressView: function () {
//call to mailing address view method setAddress() from here
Backbonw.trigger('setAddress')
})

并监听被调用者的 initalize

    var MailingAddressView = Application.Views.ItemView.extend({

initialize: function() {
Backbone.on('setAddress', this.setAddress)
},
setAddress: function(address) {
if (address != null) {
// this.autoCompleteBox.data('inputData') = address;
ProWeb.EXTRACTED_ADDRESS = address;
this.model.set('mailingAddress', address);
}
},
});

确保被调用者 View 在触发事件时已初始化

关于javascript - 在 Marionette 中从另一个应用程序调用一个应用程序的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31716687/

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