gpt4 book ai didi

javascript - 在 Angular 中覆盖 Controller

转载 作者:行者123 更新时间:2023-11-28 06:48:29 25 4
gpt4 key购买 nike

我正在尝试在 Angular 1.4 的运行时覆盖 Controller 。

我正在使用 Angular 和 Webpack,我的最终目标是能够使用 HMR(热模块替换)重新加载 Controller 。然而,我现在的障碍是弄清楚如何正确更新 Controller 。

所以最后如果你有

angular.module('app').controller('HomeController', function() {
this.message = 'Hello World!';
});

然后,您在 webpack-dev-server 运行时修改了 Controller :

angular.module('app').controller('HomeController', function() {
this.message = 'Goodbye World!';
});

当前状态下的 Controller 应该适当更新。我确实已经有了重新加载状态的逻辑($state.transitionTo)

我正在使用 UI 路由器和 Babel,尽管 Babel 应该是相当无关紧要的,因为我没有使用一半的好处(即类)。

大家有什么想法吗?

最佳答案

我不确定你的项目的其余部分是如何设置的,但大概你的 webpack 配置有一个入口点。因此,将 Controller /服务等导入到该入口点(就像索引一样)是有意义的。

Controller :

// Main.js

export default function HomeController () {
this.message = 'Hello World!'
}

索引:

// entry.js

import angular from 'angular'
import HomeController from './controllers/HomeController.js'

angular
.module('app', [])
.controller('HomeController', HomeController)

我的 Controller 更改似乎在我制作的这个入门项目中正确更新 https://github.com/alex-wilmer/app-starter/tree/angular ,虽然不是 HMR,只是实时重新加载。

关于javascript - 在 Angular 中覆盖 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193905/

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