ng视图无法渲染玉石模板

时间:2015-04-23 16:56:45

标签: angularjs express pug

我想使用JADE使用ng-route设置角度。我无法连接到我的模板(我存储我的html文件)。以下是步骤。我很抱歉这很长,但我想展示所有涉及的任何建议设置角度快递非常感谢!!!!

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)

我在浏览器中创建了一个 templates 文件夹,并在那里放置了我的主页。

以下是公用文件夹的内容。

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 dev工具中找不到Home.html。

1 个答案:

答案 0 :(得分: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 - 因此您可以通过网址访问模板,例如。 templates/home - 检查浏览器是否可以呈现此模板

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

templates / home.jade - 使用竖管将文本标记为原始内容

p
  | {{ hello }}

<强> client.js

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