无法在ng-view内渲染玉

时间:2015-08-24 15:32:31

标签: javascript node.js pug ng-view

在ng-view中我无法渲染Jade。在ng-view之外,jade的渲染就像exprected一样。

我的猜测是我必须添加一条新路由来呈现home.jade的内容,但这似乎不起作用。

您对如何解决此问题有任何建议吗?

快速路由

router.route('/')
    .get(function(req, res) {
        res.render(path.join(__dirname, '../views/', 'index'));
        // res.render(path.join(__dirname, '../views/partials', 'home'));
    });

layout.jade

doctype html
html(ng-app="myapp", lang="nl")
    head
        meta(charset="utf-8")
        meta(name="viewport", content="width=device-width, initial-scale=1") 
        link(rel='stylesheet', href='/stylesheets/style.css')
        link(rel='stylesheet', href='https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css')
        link(rel='stylesheet', href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css')
        link(rel='stylesheet', href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css')
        title MyApp
    body
    block content

    script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.js')
    script(src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js')
    script(src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js")
    script(src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular-route.js")
    script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js')
    script(src='/javascripts/app.js')
    script(src='/javascripts/my.js')

index.jade

extends layout

block content
    div#wrapper.container-fluid
    div#header.row-fluid
        h1 Document Heading
    div#nav.row-fluid
        ul.nav.nav-pills#top-nav
            li(role='presentation')
                a(href='/') Home
            li(role='presentation') 
                a(href='/about') About
            li(role='presentation') 
                a(href='/api-tester') API-tester
    div.row-fluid
        div#sidebar.col-md-2.hidden-xs
            h2 Column 2
            p Lorem ipsum dolor sit amet
            ul.nav.nav-pills.nav-stacked
                li(role='presentation') 
                    a(href='#') Link1
                li(role='presentation') 
                    a(href='#') Link2            
        div#main.col-md-10(ng-view)
    div#footer.row-fluid
        p Footer

partials / home.jade - >不呈现

h1 Home

结果:

enter image description here

修改

我添加了一条新路线,但仍然无法渲染

router.route('/partials/:name')
    .get(function (req, res) { 
        var name = req.params.name;
        res.render(path.join(__dirname, '../views/partials/', name));
    }
);

1 个答案:

答案 0 :(得分:1)

  

我的猜测是我必须添加一条新路由来呈现home.jade的内容,但这似乎不起作用。

你的猜测是对的。您需要添加一条新路线来渲染.jade部分。 看一下这个答案:https://stackoverflow.com/a/18747341/3130006