2016-02-09 23 views
2

我正在使用asp.net mvc和angularjs作爲項目。 我已經創建了兩個模塊註冊和item.Both模塊有那裏ng視圖和路由引擎。事情一直在這裏工作,但現在我想從註冊模塊按鈕點擊打開項目模塊路由頁面。如何從一個ng路由移動到另一個不同的模塊

註冊模塊..

var registerModule = angular.module('registerModule', ['ngRoute']) 
.config(function ($routeProvider, $locationProvider) { 
    $routeProvider.when('/', { templateUrl: 'App/Register/view/RegisterView.html', controller: 'RegisterController' }); 
    $routeProvider.when('/setup', { templateUrl: 'App/Register/view/SetupCompany.html', controller: 'setupController' }); 

}); 

項目模塊....

var itemModule = angular.module('itemModule', ['ngRoute']) 
.config(function ($routeProvider, $locationProvider) { 
    $routeProvider.when('/', { templateUrl: 'App/Item/Views/ItemList.html', controller: 'itemlistController' }); 
    $routeProvider.when('/Details', { templateUrl: 'App/Item/Views/ItemDetails.html', controller: 'itemDetailController' }); 
    $routeProvider.when('/Add', { templateUrl: 'App/Item/Views/AddItem.html', controller: 'addItemController' }); 
    $routeProvider.when('/Import', { templateUrl: 'App/Item/Views/ImportItemExcel.html', controller: 'ImportController' }); 

}); 

現在的NG-點擊我想有這樣的:

$ location.path(」 /項目');

我想也使用的服務,我被擊中了MVC的控制器動作,但沒有返回的觀點:

registerService.gotoDashboard(); 

registerService:

registerModule.service("registerService", function ($http) { 
this.gotoDashboard = function() { 
     return $http.get("Item/Index"); 
    } 
}); 

回答

0

$ location.path應做到這一點。

$ http是向服務器發出http請求,它不會影響你當前的路由。

但是我看到你正在嘗試使用/ Item或Item/Index獲取路由,但是在routeProvider配置中沒有看到這些URL的任何定義。你是跳過一些路由定義,還是在自己的代碼中忘記了這些路由?

+0

實際上,當我手動輸入localhost:4567/Item,ItemList.html模板罷工..並通過給$ location.path(「Item/Details」);我得到本地主機:4567 /註冊#/項目/細節,但我想本地主機:4567 /#項目/細節 –

+0

和項目/索引是我的MVC路線其中項目是控制器和索引是行動...公共ActionResult指數() {「{」Index「); } –

+0

你的應用程序是一個頁面嗎?如果不是,我建議你使用基本標籤來設置路徑爲'/',否則角度將始終以當前路徑爲基準。所以你將無法在多個頁面之間導航。 – Walfrat

相關問題