2015-04-23 97 views
2

我想用ng-route使用JADE設置角度。我無法連接到我的模板(我正在存儲我的html文件)。以下是步驟。我很抱歉,這是很長的,但我想展示一切涉及任何意見,建立角度與快遞非常感謝!ng view不渲染玉石模板

var app = express(); 
app.set('view engine', 'jade'); 
app.set('views', __dirname + '/views'); 
app.use(express.static(__dirname + '/public')); 
app.use(bodyParser.urlencoded({extended: false})); 

在我的layout.jade中,我確定了將要使用的所有腳本標記。

script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular.js") 
    script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-resource.js") 
    script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-route.js") 
    script(src="/client.js") 

在我index.jade

extends layout 

block content 
    div(ng-view) 

我創建了一個模板文件夾的我的觀點裏和我住房我的主頁那裏。

這裏是我的公用文件夾的內容。

var beerApp = angular.module('beerApp',['ngResource','ngRoute']); 

beerApp.config(function($routeProvider){ 
    $routeProvider 
     .when('/',{ 
      templateUrl:'/templates/home', 
      controller: 'homeController' 
     }) 

}); 



beerApp.controller('homeController',function(){ 
    console.log('controller set up') 

}); 

我的第一個假設是,我的控制器內我必須要建立請求爲tempates所以我做到了。

var indexController = { 
index: function(req, res) { 
    res.render('index'); 
}, 
getTemplate: function(req,res){ 
    res.render('templates/', + req.params.templateid); 
} 

};

module.exports = indexController; 

渲染模板並沒有解決我的錯誤。在我的chrome開發工具中找不到Home.html。

+0

你有佈局模板中的'ng-app'嗎? –

+0

不,我也有 – Winnemucca

回答

0

路線/ templates.js

var express = require('express'); 
var router = express.Router(); 

/* GET template by name */ 
router.get('/:templateid', function(req, res, next) { 
    res.render('templates/' + req.params.templateid); 
}); 

module.exports = router; 

app.js - 所以你必須通過URL訪問模板,例如。 templates/home - 檢查是否broweser可以使這個模板

app.use('/templates', require('./routes/templates')); 

模板/ home.jade - 用管,用於標記文本爲原料含量

p 
    | {{ hello }} 

client.js

beerApp.controller('homeController', function ($scope) { 
    $scope.hello = 'hello world'; 
});