首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone Boilerplate +Handlebar视图不工作

Backbone Boilerplate +Handlebar视图不工作
EN

Stack Overflow用户
提问于 2012-09-28 04:35:07
回答 1查看 363关注 0票数 0

我正在努力学习脊椎,但我有一个问题,如何把手。

我想建立一个模块化的应用程序,其中有单独的文件视图和模板。

这是我的app.js:

代码语言:javascript
复制
define([
  // Application.
  "app",
  "views/home",
],
function(app, homeView){
    var Router = Backbone.Router.extend({
routes: {
  "": "index",
  "home": "home"
},

index: function() {
    console.log('hello');
},
home: function() {
    console.log('home');
    homeView.render();
}
});
return Router;
});

在这一点上,我在控制台上获得了“home”。

这里是views/home.js

代码语言:javascript
复制
define([
  'app',
  'text!templates/home.html'
], function(app, homeTxt) {
    var homeView = Backbone.View.extend({
    el: $('#main'),
        render: function(){
           console.log('render');
           var data  = { property : "1" };

           this.template = Handlebars.compile(homeTxt);

           this.el.append( this.template() );
        }
     });

   return new homeView;
});

现在我应该在控制台上得到'render‘,但是我没有得到它,’template /home.html‘上的模板也没有被渲染。

我在控制台或DOM上也没有得到任何错误。

EN

回答 1

Stack Overflow用户

发布于 2012-10-13 21:23:50

我认为你需要在调用render之前实例化视图-

代码语言:javascript
复制
home: function() {
    var viewInstance = new homeView();
    console.log('home');
    viewInstance.render();
}

许多主干代码样本没有使用大写字母来表示应该实例化的内容(即用‘new’调用),反之亦然。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12629620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档