为什么我的Angular.js $ routeProvider什么都不做?

时间:2013-04-01 00:43:43

标签: javascript angularjs url-routing single-page-application

我正在通过跟随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在我的应用中没有做任何事情?

2 个答案:

答案 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>

此处提供更多信息: http://docs.angularjs.org/api/ng.directive:ngView

相关问题