为什么我的车把在改变后没有渲染?

时间:2014-02-06 20:57:08

标签: javascript html node.js handlebars.js render

我正在编写一个使用handlebars.js进行模板化的node.js应用程序。初始渲染工作,但是当把手改变时,它不会渲染新的渲染。初始渲染在控制台中显示html,但是在更改之后,我在父元素的innerHTML中得到{{>index}}。这是我的.hbs文件:

<div class="navbar navbar-fixed-top">
        <div class="navbar-inner">
            <div class="container">
                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                </a>
                <a class="brand" href="#"><img src="./img/MySpending.png"></a>
                <div class="nav-collapse">
                        <ul id="navWrapper" class="nav">
                  {{#if settings.ISLOGIN}}
                    {{> loginNav}}
                  {{/if}}
                  {{#if settings.ISINDEX}}
                    {{> indexNav}}
                      {{/if}}
                </ul>
                </div>
            <div class='navbar_form pull-right'></div>
        </div>
        </div>
</div>
<div id="bodyWrapper" class="container" style="padding-top:60px;">
      {{#if settings.ISLOGIN}}
    {{> login}}
      {{/if}}
      {{#if settings.ISINDEX}}
    {{> index}}
      {{/if}}
</div>

这是我的节点代码:

var islogin=true;
var isindex=false;

app.configure( function () {
  app.set('views', __dirname + '/views');
  app.set('view engine', 'hbs');
  app.set('ISLOGIN', islogin);
  app.set('ISINDEX', isindex);
  app.engine('hbs', hbs.express3({
    partialsDir: __dirname + '/views/partials'
  }));
  app.use(express.static(path.join(__dirname, 'public')));
});
socket.on('login', function(data) {
    console.log('login');
    console.log(data);
    var checkUser= db.users.find(data, function(err, docs){
            if(err!==null || docs==null){
            console.log(err);
        }
        else{
            var result=docs;
            console.log(result);
        }
    });
    console.log(checkUser[0]);
    if(checkUser !== null) {
        user=checkUser[0];
        console.log(user);
        islogin=false;
        isindex=true;
        socket.emit('uploadList', checkUser.total);
    }
    else{ console.log('Log in invalid');}
});

我还尝试过再次渲染页面,导致程序崩溃。如果有人甚至可以指出我正确的方向如何解决这个问题,那将非常感激。

0 个答案:

没有答案