angular -- ng-ui-route路由及其传递参数?page页面版

前面有说过 ng-ui-route 使用 script 标签来做,但是很多时候,会通过引入模板页面的方式来实现:

具体代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="./js/angular.min.js"></script>
<script type="text/javascript" src="./js/angular-route.js"></script> 
<script type="text/javascript" src="./js/angular-ui-router.js"></script>
<style type="text/css">
a{margin-right:30px;}
</style>
</head>
<body> 
<!-- 参考: https://blog.csdn.net/zcl_love_wx/article/details/52034193-->
<!-- 参考: https://blog.csdn.net/yangjvn/article/details/47703973 -->
<div ng-app="myApp" ng-controller="myAppController">
    <a ui-sref="home">首页</a>
    <a ui-sref="hot">热门</a>
    <a ui-sref="top">TOP</a>
    <div ui-view></div>
</div>

<script type="text/javascript">
var myApp = angular.module('myApp', ['ui.router']);
myApp.config(["$stateProvider",function($stateProvider){      
    $stateProvider
    .state("home",{
        url: '/home', 
        template:"page/home.html"
    })
    .state("hot",{
        url:'/hot',
        templateUrl :'page/hot.html',
        controller:"hotController"
    })
    .state("top",{
        url:'/top',
        templateUrl:'page/top.html',
        controller:"topController"
    });
}]);
myApp.controller("myAppController",['$scope',function($scope){
    $scope.username = "张三";
}]);
myApp.controller("hotController",['$scope',function($scope){

}]);
</script>
</html>

在做一些测试的时候,很容易报这个错误:

看上面有个 ...Controller :说明是控制器加载的错误。

原因:看上面的代码,可以看到每个模块是有一个控制器在控制的,所以在新建的模板上就必须要有和这个控制器。

我的错误:

在上面的模板构建中,访问 top 的时候,使用到 topController 这个控制器,但是我们 page/top.html模板上没有 topController这个控制器,所以就会报错。

原文地址:https://www.cnblogs.com/e0yu/p/8709263.html