gpt4 book ai didi

routing - 使用 AngularJS 路由并使用 requirejs 按需加载 Controller

转载 作者:行者123 更新时间:2023-12-03 21:35:33 25 4
gpt4 key购买 nike

我正在尝试结合使用 AngularJS 和 RequireJS。我想使用 $routeProvider服务并避免在应用程序启动时为我的 View 加载所有 Controller 。为此,我尝试了以下方法:

define(['require', 'angular', 'appModule'], function (require, angular, app) {
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/sites', {templateUrl: '/Site/GetSitesView', controller: function() {
require(['sitesController'], function(SitesController) {
return new SitesController();
})
}})
}]);
});

不幸的是,这对我不起作用。没有错误。包含 Controller 的 JS 文件正在正确加载,但我在渲染 View 中看不到数据绑定(bind)值。我想知道是否可以分配 controller 的值以其他方式等待异步调用(加载 JS 文件)完成。

有任何想法吗?

最佳答案

您可以找到解决方案 here

您需要在每个路由上定义一个解析属性,并为其分配一个返回 promise 的函数。该函数可以动态加载包含目标 Controller 的脚本,并在加载完成后解析promise。在这个 article , 丹·华林 展示了如何使用约定优于配置来获得更实用的路由。

关于routing - 使用 AngularJS 路由并使用 requirejs 按需加载 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155457/

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