我正在通过跟随Egghead.io的视频来学习Angular.js。我在the $routeProvider video,我的应用根本没有路由。
这是超基本的,这是脚本(app.js):
var app = angular.module('myApp', []);
// routes
app.config(function ($routeProvider) {
$routeProvider.when('/pizza', { template: 'Yum!!' });
});
app.controller('FirstCtrl', function ($scope) {
$scope.data = { message: "Hello" };
});
和html:
<div ng-app="myApp">
<div ng-controller="FirstCtrl">
{{data.message + " world"}}
</div>
</div>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js"></script>
<script src="app.js"></script>
据我了解,http://host/#/pizza
应该只显示“百胜!!”因为我在模板中传递了一个字符串。它似乎没有做任何事情,我仍然得到FirstCtrl
评估的“Hello world”。
为什么$routeProvider
在我的应用中没有做任何事情?
答案 0 :(得分:11)
您需要将ng-view
元素放在您希望routeProvider粘贴页面模板的位置。
<div ng-app="myApp">
<div ng-controller="FirstCtrl">
{{data.message + " world"}}
<ng-view></ng-view>
</div>
</div>
答案 1 :(得分:2)
请注意,如下所示,可以让您跨浏览器兼容。
<div ng-view> </div>
或者,就此而言:
<ANY ng-view> </ANY>