2016-06-22 5 views
0

Ich habe nicht genau eine Antwort auf diese spezielle Frage hier auf Stackoverflow gefunden.AngularJS UI-Router eine Ansicht von mehreren Controllern separat genutzt

In UI-Router kann und darf ich die gleiche Ansicht/TemplateUrl für 2 verschiedene Zustände angeben?

.state('app.dashboardLanding', { 
    url: '/dashboard-landing', 
    title: 'Dashboard Overview', 
    templateUrl: 'app/views/landing.html', 
    controller: 'DashboardLandingController', 
}) 
.state('app.balanceSheetLanding', { 
    url: '/balance-sheet-landing', 
    title: 'Balance sheet Overview', 
    templateUrl: 'app/views/landing.html', 
    controller: 'BalanceSheetLandingController' 
}) 

der Code in app/views/landing.html ist genau das gleiche, nur die $scope Eigenschaften unterschiedlich sind.

+2

Solange der Controller die erforderlichen Anbindungen für die Vorlage haben - ja Sie können. –

Antwort

0

app.js

'use strict'; 
// Declare app level module which depends on filters, and services 
var app= angular.module('myApp', ['ngRoute']); 
app.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/login', {templateUrl: 'partials/login.html', controller: 'loginCtrl'}); 
    $routeProvider.when('/home', {templateUrl: 'partials/home.html', controller: 'homeCtrl'}); 
    $routeProvider.when('/salesnew', {templateUrl: 'partials/salesnew.html', controller: 'salesnewCtrl'}); 
    $routeProvider.when('/salesview', {templateUrl: 'partials/salesview.html', controller: 'salesviewCtrl'}); 
    $routeProvider.when('/users', {templateUrl: 'partials/users.html', controller: 'usersCtrl'}); 
    $routeProvider.when('/forgot', {templateUrl: 'partials/forgot.html', controller: 'forgotCtrl'}); 


    $routeProvider.otherwise({redirectTo: '/login'}); 


}]); 


app.run(function($rootScope, $location, loginService){ 
    var routespermission=['/home']; //route that require login 
    var salesnew=['/salesnew']; 
    var salesview=['/salesview']; 
    var users=['/users']; 
    $rootScope.$on('$routeChangeStart', function(){ 
     if(routespermission.indexOf($location.path()) !=-1 
     || salesview.indexOf($location.path()) !=-1 
     || salesnew.indexOf($location.path()) !=-1 
     || users.indexOf($location.path()) !=-1) 
     { 
      var connected=loginService.islogged(); 
      connected.then(function(msg){ 
       if(!msg.data) 
       { 
        $location.path('/login'); 
       } 

      }); 
     } 
    }); 
}); 
+0

Ich könnte es sein, aber was hat das mit meiner Frage zu tun? – Peter

Verwandte Themen