我正在使用Angular并尝试路由到某个页面。它可以在任何地方工作,但在下面的代码中,当我尝试路由时,我看到URL移动到所需的页面但返回到触发它的同一页面。我不确定为什么它会像这样。
这是我的HTML,我称之为方法
<button ng-click="proposalForm()" >Request</button>
在我的controller.js中,我只是想尝试路由到另一个页面。当我单击该按钮时,它会路由到提案页面,但会快速返回到我触发此操作的位置。我错过了吗?它适用于所有其他地方。
$scope.proposalForm = function() {
$location.path('/proposal');
}
当我尝试使用datatarget访问它时,它包含JSP但是当我尝试完全路由到不同的页面时,它不起作用。有没有其他方法,我可以将它路由到不同的JSP。
这是我的路由器代码,它有正确的提案路径,我不确定它是否由于某种原因路由到默认值
Bid.config(function($routeProvider) {
.when('/proposal', {
templateUrl : '/Bid/proposal',
controller : 'homeController'
}).otherwise({
redirectTo : '/'
});
});
&#13;
答案 0 :(得分:1)
在项目中使用库
<script data-require="ui-router@*" data-semver="0.2.8" src="http://angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>
然后是config.js
.state('proposal', {
url: '/proposal',
templateUrl: 'templates/proposal.html',
controller: 'NewCtrl'
});
$urlRouterProvider.otherwise('/auth/login');
并在控制器中
app.controller('NavCtrl', function ($scope, $location, $state, Post, Auth) {
$scope.create = function() {
$state.go("proposal");
};
});
和app.js
var abc= angular.module('abc', [
'ui.router'
]);
答案 1 :(得分:0)
如果要使用AngularJS创建单页应用程序(SPA),则应使用$ state服务,而不是$ location服务。 无论如何,从语法上讲,代码似乎是正确的,也许你可以添加路由器代码?