0

Это мой файл .config моего Angularjs, который открывает страницу lead.html всякий раз, когда «задачи» активируются из другого html с помощью ui-router.

App 
     .config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider){ 


      $stateProvider 
      .state('tasks', { 

       templateUrl: {{name}}.html, 
       controller:"TasksController" 
      }); 


     }]); 

Это мой Taskscontroller.js

App 
     .controller(
       "TasksController", [function($scope, $http,$window) { 


      var self = this; 
      self.name = 'lead'; // I wanna use this parameter in templateUrl 
      console.log("In tasks Controller"); 

     }]); 

Я хочу сделать templateUrl принимать параметр из TasksController так, что он перенаправляет на соответствующую страницу на основе набора параметров в TasksController. Прошу, пожалуйста, как это сделать.

Благодаря

+0

вы можете попробовать что-то вроде ниже '$ stateProvider .state (' задачи, { templateUrl: функция ($ stateParams) { return $ stateParams.name + '.html'; }, контроллер: «TasksController» }); ' Но для этого вам нужно знать имя перед рукой – Maverick

ответ

0

Вы можете попробовать использовать $ stateParams:

App.config(['$stateProvider', '$urlRouterProvider', '$stateParams', function($stateProvider, $urlRouterProvider, $stateParams) { 

    $stateProvider 
    .state('tasks', { 
     params: { 
     page: null 
     }, 
     templateUrl: {{$stateParams.page}}.html, 
     controller: "TasksController" 
    }); 
}]); 

Тогда в контроллере:

App.controller("TasksController", [function($scope, $http, $window, $stateParams, $state) { 
    var self = this; 
    self.$stateParams.page = 'some_url.html'; 
    self.$state.go('tasks'); 
}]); 

Не стоит забывать инъекции в контроллере тоже. Не проверял это, но вы, возможно, потребуется $ состояние идти, как это:

self.$state.go('tasks', { page: 'some_url.html' }, { }); 
+0

Но когда я получаю эту ошибку http: // localhost: 7001/gradDashboard/pages /% 7B% 7B $ stateParams.page% 7D% 7D – Ashok

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