1

我现在正在跟随 Egghead.io 上的视频学习 Angular.js。我在$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应该简单地显示“Yum!!” 因为我在模板中传递了一个字符串。虽然它似乎没有做任何事情,但我仍然得到由FirstCtrl.

为什么$routeProvider我的应用程序中没有做任何事情?

4

2 回答 2

11

您需要ng-view在希望 routeProvider 粘贴页面模板的位置放置一个元素。

<div ng-app="myApp">
    <div ng-controller="FirstCtrl">
        {{data.message + " world"}}
        <ng-view></ng-view>
    </div>
</div>
于 2013-04-01T00:45:52.637 回答
2

请注意,像下面这样指示它可以让您跨浏览器兼容。

<div ng-view> </div>

或者,就此而言:

<ANY ng-view> </ANY>

更多信息可在此处获得:http://docs.angularjs.org/api/ng.directive: ngView

于 2013-05-08T20:42:44.290 回答