我正在嘗試使用角度重定向重定向到另一個頁面。但是我得到了一個無法解決的狀態錯誤。我跟着How to pass parameter when I redirect the page in angularjs using ui router?鏈接。AngularJS UI路由器重定向
請在下面找到我的route.js代碼:
var helloWorldApp = angular.module('helloWorldApp', ['ui.router']);
helloWorldApp.config(function($stateProvider,$urlRouterProvider) {
$stateProvider
.state('first', {
url: '/first',
templateUrl: 'first.html'
})
.state('second', {
url: '/second',
templateUrl: 'second.html'
});
});
我first.html代碼
<html lang="en" ng-app="helloWorldApp">
<head>
<meta charset="UTF-8">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-animate.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.2.js"></script>
<script type="text/javascript" src="./app/routes.js"></script>
</head>
<script type="text/javascript">
var helloAppConf = angular.module('helloWorldApp', ['ui.router']);
helloAppConf.controller('firstCtrl',function($scope,$state){
$scope.userInput='Hello world from first page';
$scope.getNewPage=function() {
$state.go("second", { id: $scope.userInput });
}
});
</script>
<body>
<div ng-controller="firstCtrl">
<h4>{{userInput}}</h4>
<button ng-click="getNewPage()">New Page</button>
</div>
</body>
</html>
我second.html代碼
<!DOCTYPE html>
<html lang="en" ng-app="helloWorldApp">
<head>
<meta charset="UTF-8">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-animate.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.2.js"></script>
<script type="text/javascript" src="./app/routes.js"></script>
</head>
<script type="text/javascript">
var helloAppConf = angular.module('helloWorldApp', ['ui.router']);
helloAppConf.controller('secondCtrl' , function($scope, $state){
$scope.id = $stateParams.id;
});
</script>
<body>
<div ng-controller="secondCtrl">
<h4>{{id}}</h4>
<button ng-click="getNewPage()">New Page</button>
</div>
</body>
</html>
我可以在我的瀏覽器上訪問first.html和second.html頁面。但是,當我點擊first.html上的New Page按鈕時,出現 錯誤:無法在Object.t.go(http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js:7:8182)上Object.t.transitionTo(http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js:7:8834) 上從狀態' '解析'second' 。在回調(http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js:23549:17) 在範圍$的eval(http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js:15989:28) 在範圍$申請(http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js:16089:25) 在範圍$ scope.getNewPage(http://localhost:8080/first.html:18:16) 在FN(221 EVAL在(http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js:13322:15):4)。在HTMLButtonElement處爲 。 (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js:23554:23) at HTMLButtonElement.eventHandler(http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js:3298:21)
請幫忙。提前致謝。
爲什麼兩個HTML頁面? 您應該有一個index.html文件並使用來管理它。 所以我不確定你想在這裏做什麼。 –
Shikloshi