可以在两个HTML页面AngularJS中使用路由

时间:2016-08-05 16:36:07

标签: javascript angularjs routes

我的代码中发生了一些有线的事情 所以我有两个主HTML页面

index.html && adHome.html

他们都使用不同的路线,但是当我尝试这样做时

angular
  .module('App', [
    'ngRoute',
    'ngAnimate',
    'ngCookies',
    'ngResource',
    'ngTouch',
    'ngSanitize'

  ])
  .config(function ($routeProvider) {
    $routeProvider

   .when('/test', {
    templateUrl: 'views/user/main.html', //this is called in index.html
    controller: 'MainCtrl'
  })

  .when('/Reports', {
    templateUrl: 'pages/Reports.html', //this is called in adHome.html
    controller: 'reportController'
  })

 .otherwise({

    redirectTo: '/404' //used by both

  });

}

现在当我尝试在我的index.html上运行这些页面时,一切似乎都运行良好但是当我尝试在adHome.html上运行某些内容时出现此错误

  

由于以下原因无法实例化模块flowersApp:错误:   [$喷油器:modulerr]   docstring $注射器/ modulerrδP0 = N ...)...

我认为问题是;因为adHome.html不使用这些:

"' ngAnimate&#39 ;,     ' ngCookies&#39 ;,     ' ngResource&#39 ;,     ' ngTouch&#39 ;,     ' ngSanitize"

事情发生了,我得到了一个错误 因为当我删除它们时,所有内容似乎都适用于adHome.html页面 但很明显我的index.html页面出错了,因为我错过了我的注射

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您应该修复以下内容:

<强> app.js

var myApp = 
           angular
           .module('App', ['ngRoute']);

<强> route.provider.js:

myApp.config(function ($routeProvider) {
    $routeProvider
   .when('/test', {
    templateUrl: 'views/user/main.html', //this is called in index.html
    controller: 'MainCtrl'
  })
  .when('/Reports', {
    templateUrl: 'pages/Reports.html', //this is called in adHome.html
    controller: 'reportController'
  })
 .otherwise({
    redirectTo: '/404' //used by both
  });
});

或者,您可以避免使用routeProvider并改为使用stateProvider

myRoute.route.js:

(function () {
    'use strict';
    angular.module('myApp')
        .config(myRoute);

    function myRoute($stateProvider) {
        $stateProvider
            .state('myRoute', {
                url: '/myUrl',
                parent: 'index',
                templateUrl: 'mySomething.html',
                controller: 'MyController',
                controllerAs: 'myCtrl'
            })
    }
})();

使用$state.go('myRoute');浏览您的应用,同时在$stateControllers等组件中注入Factories

我希望我能提供帮助。