【发布时间】:2016-07-14 13:32:23
【问题描述】:
我是 Angular 新手,正在通过 Thinkster 上的教程进行学习。我在 Angular Routing -> 添加新状态步骤。
我正在尝试使用 ui-router 渲染内联模板,但模板没有出现。这是我的index.html(删节):
<html>
<head>
<!-- My js files are loaded here -->
</head>
<body ng-app='flapperNews'>
<div class ='row'>
<div class="col-md-6 col-md-offset-3">
<div ui-view></div>
</div>
</div>
<script type="text/ng-template" id="home.html">
<!-- My template written as plain html>
</script>
</body>
</html>
这就是我目前在app.js 中处理路由的方式:
angular.module('flapperNews',['ui.router'])
.config([
'$stateProvider',
'$urlRouterProvider',
function($stateProvider, $urlRouterProvider){
return;
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl'
});
$urlRouterProvider.otherwise('home');
}]);
据我了解,ui-router 应该解析 url 并在 div ui-view 标签中呈现适当的模板。 (Thinkster 说标签应该是 'ui-view' 但ui-router docs 似乎另有说明;我都试过了)。
我的页面呈现空白,并且没有错误记录到控制台。对于它的价值,我只用本地文件做教程,因为我已经添加了路由代码,所以我的 url 附加了一个#,即file://blah/blah/FlapperNews/index.html#,我不确定为什么。
【问题讨论】:
-
尝试使用 ng-include
-
为什么在
function($stateProvider, $urlRouterProvider){后面有一个return;?你没有用这种方式做任何配置。
标签: javascript angularjs url-routing angular-template