如何从一个ng路由移动到另一个不同模块的路由

时间:2016-02-09 13:34:46

标签: angularjs asp.net-mvc

我正在为项目使用asp.net mvc和angularjs。 我创建了两个模块寄存器和item.Both模块有ng-views和路由引擎。事情一直在这里工作,但现在我想从注册模块按钮点击打开项目模块路由页面。

注册模块..

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-click上我希望有类似的东西:

$ location.path(' /项目&#39);

我也尝试使用服务,我正在点击mvc控制器操作但是视图没有返回:

registerService.gotoDashboard();

registerService:

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

1 个答案:

答案 0 :(得分:0)

$ location.path应该这样做。

$ http是向服务器发出http请求,它不会影响您当前的路由。

但是我发现您正在尝试使用/ Item或Item / Index进入路线,但我没有在routeProvider配置中看到这些URL的任何定义。您是否跳过了某些路线定义,或者您是否在自己的代码中忘记了这些路线?

相关问题