2014-01-17 71 views
1

我試圖理解在對象內部我傳遞到當方法作爲第二個參數控制器和動作特性之間的差異,我將解釋:AngularJS,routeProvider,動作VS控制器

$routeProvider.when('/', { 
     templateUrl : 'partials/car.htm', 
     controller : 'someControllerName' 
    }); 

此示例示出了簡單的控制器分配,現在我的問題是這個link,如果你看一看MainApp模塊定義,你可以看到它有動作屬性,而不是控制財產,所以基本上:

  1. 是在什麼上面我的鏈接動作和控制器
  2. 在MainApp模塊定義之間的差別不明白爲什麼我要注射$ routeProvider而不是DashboardApp

所以,如果有人能幫助我與此同時,我將非常感謝,謝謝大家,祝你有美好的一天。

回答

1

看來,這是一個簡單的拼寫錯誤,根據一些評論

你的意思是controller: ‘DashboardApp.DashboardCtrl’代替 action: ‘DashboardApp.DashboardCtrl’。正確?


我要感謝您對這篇文章,但我想,以解決一些 事情。我開始了一個模塊化的角度項目,並使用你的文章到 讓事情進行。我正在使用AngularJS 1.2.8,並且在路由問題上遇到問題 。事實證明,文章 中的示例不適用於模塊化設置。我不斷收到錯誤說 控制器不存在。我將你的「動作」改爲「控制器」 ,但它仍然沒有幫助。這裏是我最終做的一個例子:

之前:$ routeProvider.when('/',{templateUrl:'/ home',action: 'CoreApp.IndexController'}); $ routeProvider.when('/',{templateUrl: '/ home',module:'CoreApp',controller:'IndexController'});

一旦我做出這些改變,一切都按預期工作。再次感謝 !

此外,我檢查角changelogs - 從來沒有行動參數,而不是控制器。現在沒有任何操作參數。

+0

謝謝安德烈您的回答我沒有看到該評論,也請你解釋爲什麼在上面的鏈接MainApp模塊定義我不明白爲什麼我必須注入$ routeProvider而不是DashboardApp –

+0

@uBlankText那就是因爲DashboardApp是一個模塊,就像MainApp一樣。並且只有提供者可以被傳遞給配置功能。你可以通過**配置** $ routeProvider來配置你的應用程序的路由。結帳[docs](http://docs.angularjs.org/api/ngRoute.$routeProvider) –

+0

謝謝Andrey,祝你有美好的一天。 –