2015-10-14 214 views
0

我一直在尝试几个月来弄清楚我在做什么我的路线有问题。有人可以快速浏览这个庞然大物,并告诉我为什么ng-view不起作用吗? $ scope.name不能正确显示,而ng-view似乎没有工作。 http://plnkr.co/edit/7vtgxmvqI0eiDALIW7G8我不能让ng-view正常工作

的script.js

var app = angular.module('blog', ['ngRoute']); 

app.config(function($routeProvider) { 

    $routeProvider.when('about.html', { 
     templateURL: "about.html", 
     controller: 'AboutController' 
    })  
}); 

app.controller('AboutController', function($scope) { 
    $scope.name = "marcus"; 
}); 

的index.html

<!DOCTYPE html> 
<html ng-app="blog"> 

    <head> 
    <script src="https://code.angularjs.org/1.2.2/angular.min.js"></script> 
    <script src="https://code.angularjs.org/1.2.2/angular-route.min.js"></script> 
    <link rel="stylesheet" href="style.css"> 
    <script src="script.js"></script> 
    </head> 

    <body> 
    <a href="about.html">Notes</a> 

    <h1>Click the Link ^</h1> 
    <h2>{{2+2}}</h2> 

    <div ng-view> 

     <p>ng-view should be loading data from about.html right here but it's not working</p> 

    </div> 
    </body> 
</html> 

about.html

<html> 
    <body> 
    <h1>Hello</h1> 

    <h2>{{name}}</h2> 
    </body> 
</html> 
+0

在PLUNK中的演示工作得很好。 –

+0

同样在这里 - 工作正常。究竟是什么问题? – Michael

+0

唯一不起作用的是我可以绕过登录直接进入仪表板。 既然你没有谈论这件事:一切看起来都很好。 – JasperZelf

回答

1

的index.html改变HREF为如下:

<a href="#/about.html">Notes</a> 

也的script.js:

$routeProvider.when('/about.html', { 
    templateUrl: "about.html", 
    controller: 'AboutController' 
    }) 

这些变化使你的代码为我工作。 据我所知,问题在于路由。

0
  1. 问题

使用预览模式,然后您在页面Plunker - Angular Login App的标签中看到标题。 http://embed.plnkr.co/ZVVArcJlb8QeGUaFNgBu/preview

  • 问题
  • 另外JavaScript是一种区分大小写的语言。代替模板

    使用模板网址URL

    templateUrl: "about.html", 
    

    http://plnkr.co/edit/9c5JKpxRnskBY6EegFGF?p=preview

    我用角1.4.6用于测试

    +0

    所以我的错误是我正在使用templateURL而不是templateUrl,还是我使用的是角1.2.2? – Mjuice

    +0

    问题在于模板*网址*。您可以将Angular版本更改回1.2.2,它可能仍然有效。我只是使用最新版本来防止已经解决的错误。 – Michael