angularjs模板ng-view

时间:2013-03-16 02:36:13

标签: html5 templates angularjs

任何人都可以告诉我这里我做错了什么:

我只是更新了库,似乎代码因某种原因而破坏了它没有做任何事情。

角度库

html5代码

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<header id="header">
    <h1 id="logo"><a href="#/home"></a></h1>

    <div id="menu">
        <a ng-click="setRoute('home')" class="btn">Home</a>
        <a ng-click="setRoute('about')" class="btn">about</a>
    <a ng-click="setRoute('experiments')" class="btn">Experiments</a>
    </div>
    <div class="color"></div>
    <div class="clear"></div>
</header>
<!-- //top -->
<div class="shadow"></div>

<div id="container">
    <div ng-view></div>
</div>

angular.js

 angular.module('WebSite', []).
    config(function($routeProvider) {
        $routeProvider.
            when('/about', {templateUrl:'folder/test.html', controller:AboutCtrl}).
            when('/experiments', {templateUrl:'folder/test.html', controller:ExperimentsCtrl   }).
            when('/home', {templateUrl:'folder/test.html', controller:HomeCtrl   }).
            otherwise({redirectTo:'/home'});
    });

function AboutCtrl($scope) {
    $scope.title = 'About Page';
    $scope.body = 'This is the about page body';
}

function ExperimentsCtrl($scope) {
    $scope.title = 'Experiments Page';
    $scope.body = 'This is the about experiments body';
}

function HomeCtrl($scope) {
    $scope.title = 'Home Page';
    $scope.body = 'This is the about home body';
}

2 个答案:

答案 0 :(得分:0)

您需要在https://github.com/simpulton/angular-website-routes

查看来自github的来源

没有changeRoute方法。在一些对话之后,我意识到最好尽可能自然地处理锚标签。

您的菜单元素应如下所示

<div id="menu">
    <a href="#/home" class="btn">Home</a>
    <a href="#/about" class="btn">About</a>
    <a href="#/experiments" class="btn">Experiments</a>
</div>

希望这有帮助!

答案 1 :(得分:0)

首先,您需要使用ng-app为您的模块设置角度应用程序。也许你已经这样做了,但它不是你发布的片段的一部分:

<html ng-app="WebSite">

另外,关于setRoute(),我不知道你从哪里复制,但你不需要它。只需将href与哈希一起使用,例如:

<a href="#/about" class="btn">about</a>