0

У меня есть запрос, связанный с контроллерами установки во время выполнения. я хочу что-то вроде:Настройка контроллера динамически Угловая

.state{'app.thisState', 
    url: '/thisUrl', 
    views:{ 
    templateUrl: 'templates/some_template.html', 
    controller: 'XYZCtrlr' //This is where I want to set different controllers depending on the scenario. 
    }}; 

Как мы можем установить контроллеры во время выполнения?

ответ

1

Вы можете использовать controllerProvider вариант УИ-маршрутизатор состояние

.state ('app.thisState', { //<-- correct syntax here 
    url: '/thisUrl', 
    views: { 
     templateUrl: 'templates/some_template.html', 
     controller: 'XYZCtrlr', 
     controllerProvider: function($stateParams) { //<-- add dependencies here 
      //perform logic here 
      var ctrlName = $stateParams.type + "Controller"; 
      return ctrlName; //return string name here, which will the name of controller. 
     } 
    } 
}; 
+0

Можете ли вы 'продуманную вар ctrlName = $ stateParams.type + "контроллер";'. Что происходит в этой строке? Извините, что я новичок в угловом –

+0

В основном для демонстрации я ввел зависимость $ stateParams, а затем я читаю параметр состояния и создаю имя контроллера .. ** Я написал этот код только для демонстрации с комментариями ** –

+0

Я понял. Возможно ли здесь иметь зависимость $ rootScope? –

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