gpt4 book ai didi

javascript - 如何在 ES6 javascript 中实现 MVC?

转载 作者:行者123 更新时间:2023-12-01 03:30:32 25 4
gpt4 key购买 nike

  1. 在 ES5 中,我使用 IIFE 创建模型- View - Controller 结构并揭示模块模式。

    var model = function () { ... }()
    var view = function () { ... }()
    var controller = function (model, view) {
    view.functionname(var one);
    ......
    }(model, view)

ES6中新的 block 作用域{}可以替代IIFE,但是我们如何从 Controller 调用模型/ View 的函数/方法?

  • 为了在 ES5 中组合多个 JavaScript 并避免命名冲突,我使用了一个表达式:

    ;( code ...)
  • 在 ES6 中如何做到这一点?

    最佳答案

    The new block scope in ES6 can replace IIFEs

    不是真的。它可以取代仅仅引入范围的 IIFE,但它不能取代模块模式 - block 没有返回值。而且它不需要任何参数。您可以只使用全局变量:

    var model, view, controller;
    {
    model = {…};
    }
    {
    view = {…};
    }
    {
    let one = …;
    view.functionname(one);
    controller = {…};
    }

    但说实话,这很奇怪1。没有理由不使用我们自 ES3 以来就知道的完全相同的揭示模块模式。

    1:一个可行的替代方案是 ES6 模块,它允许循环依赖并具有更好的语法

    关于javascript - 如何在 ES6 javascript 中实现 MVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44564852/

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