繁体   English   中英

ng视图未渲染玉器模板

[英]ng view not rendering jade templates

我想使用JADE在ng-route中设置angular。 我无法连接到模板(我在其中存储html文件的模板)。 以下是步骤。 抱歉,这很长,但是我想向大家展示涉及的所有内容,对于使用express设置angular的任何建议都非常感谢!!!!

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)

我在视图内部创建了一个template文件夹,并在其中放置我的主页。

这是我的公用文件夹的内容。

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')

});

我的第一个假设是我必须在控制器内部为模板设置请求,所以我这样做了。

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。

路由/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 -检查浏览器是否可以渲染此模板

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

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

p
  | {{ hello }}

client.js

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM