2017-02-21 139 views
1

我在我的Angular應用程序中讓我的路徑工作時遇到問題。它正確顯示主模板,但是當我點擊其他模板的鏈接時,什麼也沒有發生。這裏是我的代碼:模板的角度路由

INDEX.HTML

<!DOCTYPE html> 
<html> 
<head> 
    <title>Node, NPM and Bower</title> 
    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 
    <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.css"> 
    <link rel="stylesheet" href="style.css"> 
</head> 
<body ng-app="app"> 

<nav> 
    <h3>Angular App</h3> 
    <a href="/">Home</a> 
    <a href="/about">About</a> 
</nav> 

<div ng-view></div> 

<script src="bower_components/angular/angular.js"></script> 
<script src="bower_components/angular-route/angular-route.js"></script> 
<script src="./app/app.js"></script> 
</body> 
</html> 

APP.JS

angular.module("app", ["ngRoute"]). 
config(function($routeProvider) { 
    $routeProvider 
    .when("/", { 
     template : "<h1>Home</h1>" 
    }) 
    .when("/about", { 
     template : "<h1>About</h1>" 
    }); 
}); 

此外,有一個原因,引導和角度完全不當我工作嘗試使用Express和Node的本地主機?例如,如果我在瀏覽器中拉起index.html,文本就是sans-serif等,但如果使用localhost拉起它,它仍然是默認襯線字體。

SERVER.JS

var express = require('express'); 
var app = express(); 
var path = require('path'); 

app.get('/', function(req, res) { 
    res.sendFile(path.join(__dirname + '/index.html')); 
}); 

app.listen(3000, function() { 
    console.log('app started'); 
}); 

回答

1

角1.5
因此,與基本的路由1.5,您需要使用:

<a href="#about">About</a> 

打路線。見Plunker for more info

角1.6
如果您正在使用角1.6是:

​​

AngularJS: ngRoute Not Working其他選項。

自舉問題
不應該有任何問題,它是正確的緩存。

+0

感謝您的幫助!那固定的東西。但是,它仍然不能在本地主機上運行。我將添加我的server.js文件,以便您也可以查看。 –

+0

你的server.js文件對我來說很不錯。沒有任何錯誤嗎?角度沒有加載,或者它是沒有運行的服務器? –

+0

我想通了。我不得不添加這三行:'app.use(express.static(__ dirname +'/ views')); app.use('/ bower_components',express.static(__ dirname +'/ bower_components')); ('/ public',express.static(__ dirname +'/ public'));' –

0

我想出了答案。你需要告訴服務器從他們的目錄路由你的靜態文件,如下所示:

app.use(express.static(__dirname + '/views')); 
app.use('/bower_components', express.static(__dirname + '/bower_components')); 
app.use('/public', express.static(__dirname + '/public'));