angularJs如何让router和controller分成不同的文件?

发布于 2022-09-12 03:44:44 字数 1082 浏览 22 评论 0

controlller.js :

var app = angular.module('app', ['ngCookies', 'ui.router', 'ngFileUpload', 'tm.pagination']);
//路由配置
app.config(function($stateProvider, $urlRouterProvider){
   $stateProvider
   .state("home",{
     url: '/home',
     cache: false,
     template: '<div class="container"><div class="jumbotron"><h1></h1></div></div>',
     controller: "homeCtrl"
 })
   .state("about",{
     url: '/about',
     cache: false
 })
    $urlRouterProvider.otherwise("home");
})

想把about单独提取出来,放入新建的about.js中,但是,会出现错误:angular.js:14700 Error: [$controller:ctrlreg]

about.js:

var app = angular.module('app', ['ngCookies', 'ui.router', 'ngFileUpload', 'tm.pagination']);

app.controller('about',  function ($http, $scope, TipService, $timeout, $interval) {
      $scope.info = "xxx";  // xxx
  });

这样会出现错误:angular.js:14700 Error: [$controller:ctrlreg]
我在对应的about.html中也引入了这个about.js,也是没用。

这个问题,怎么解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愚人国度 2022-09-19 03:44:44
 .state('main.homePage.homePageMain', {
    url: '/main',
    views: {
        '': {
            template: require('widgets/homePage/homePageMain/homePageMain.html'),
            controller: 'homePageMainController'
        }
    },
    resolve: {
        loadDeps: ['$ocLazyLoad', function ($ocLazyLoad) {
            return require.ensure([], function () {
                var m1 = require('widgets/homePage/homePageMain/homePageMainController');
                $ocLazyLoad.inject([m1]);
            },'homePageMain');
        }]
    }
    })

是这种吗?

除了这种还有AMD模块的方式

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文