2013-10-16 43 views
1

我在Angular的State中嵌入了一個未命名的Controller,我想重用這些代碼和模板,以便我還可以將它用於不同URL中的狀態。有沒有辦法做到這一點?我可以從其他文件中引用Controller嗎?AngularJS:重構控制器出狀態

的想什麼,我做的例子:states.js.coffee.erb

#other state up here 
     ]) 
).state('do-something', 
    url: '/do-something/:id' 
    views: 
     'users': 
     templateUrl: '<%= template_path('user-do_something') %>' 
     controller: 'Controllers.SomethingController' 
).state('other-state', 
    url: '/other-state' 

controllers.js.coffee.erb

angular.module("Controllers", []) 
.controller('SomethingController', ['$scope', ($scope) -> 
    $scope.variable_a = "" 

回答

1

你要做

controller: 'SomethingController' 

你只需把Controllers模塊您正在配置狀態的模塊的依賴關係。

angular.module('app', ['Controllers']).config(function($stateProvider) { .... }); 

這應該做的伎倆。

+0

很酷,謝謝!我可以將參數傳遞給控制器​​,還是必須按原樣使用它? –

+1

當然,研究'解決'你可以事先解決的東西,並將其作爲參數傳遞給控制器​​:) –