我正在为项目使用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");
}
});
答案 0 :(得分:0)
$ location.path应该这样做。
$ http是向服务器发出http请求,它不会影响您当前的路由。
但是我发现您正在尝试使用/ Item或Item / Index进入路线,但我没有在routeProvider配置中看到这些URL的任何定义。您是否跳过了某些路线定义,或者您是否在自己的代码中忘记了这些路线?