2016-09-29 2 views
0

У меня есть два модуля - App1 и App2. В App1 есть один контроллер Main. В App2 есть два контроллера: первый и второй. У меня есть кнопка в шаблоне (mainTemp) главного контроллера App1. Нажав на эту кнопку, как сделать маршрут к шаблону (firstTemp) первого контроллера в модуле App1?Угловая маршрутизация между различными модулями

Это то, что мой модуль App2 выглядит как-

angular.module('App1', ['ngRoute']) 
.config(function ($routeProvider, $locationProvider) { 

$routeProvider 
.when('/first', { 
    templateUrl: '/Template/firstTemp.html', 
    controller: 'First' 
}) 
.when('/second', { 
    templateUrl: '/Template/secondTemp.html', 
    controller: 'Second' 
}) 
$locationProvider.html5Mode(false).hashPrefix('!'); 
}) 
.controller('First', function ($scope, $http, $location) { 

    $scope.savedata = function (employee) { 

     $scope.employees = ""; 
     $http.post("/Data/AddEmployee", { empl: employee }) 
     .success(function (result) { 

      $scope.employees = result; 
      $location.path('/second'); 
     }) 
     .error(function (result) { 
      alert(result); 
     }); 
    } 
}) 
.controller('Second', function ($scope,$http) { 
}) 

И Это шаблон (mainTemp) главного контроллера App1 модульно

<div ng-app="App2" ng-controller="Main"> 
    <input type="button" value="submit" name="btnSave" ng-click="route_()" /> 
</div> 
+0

На странице может быть только одно «ng-app». Все модули, кроме основного, должны быть введены в качестве зависимостей – charlietfl

ответ

0

Есть три способа, которые можно использовать для решить эту проблему:

  1. Создать верхний модуль уровня для двух и использовать его в ng-app="app" Direc TIVE.

    вар app1 = angular.module ('app1', [])

    вар app2 = angular.module ('app2', [])

    вар приложение = angular.module ('приложение' , ['app1', 'app2', 'ngRoute']);

  2. Добавить app1 как зависимость для приложения2. В HTML: ng-app="app2"

    вар приложение = angular.module ('app1', [ 'ngRoute'])

    вар app2 = angular.module ('app2', [ 'app1'])

  3. Просто один модуль. Даже если это разные файлы.

    вар приложение = angular.module ('приложение', [ 'ngRoute'])

    вар приложение = angular.module ('приложение')

Лично я предпочитаю третий подход ,

Смежные вопросы