javascript - Rendr 如何在 RendrJS 同构框架中将模型传递给 subview

标签 javascript rendr

假设我正在构建一个博客,其中主页呈现一个博客文章列表。我的问题是如何将模型传递给每个子帖 subview ?

我有一个遍历集合的 index.hbs

{{#forEach models}}
    {{view "post_view" model=value model_name="story"}}
{{/forEach}}

我有一个 post_view.js

var BaseView = require('./base');

module.exports = BaseView.extend({
     className: 'post_view',

    initialize: function() {
        console.log(this.model); //undefined
        console.log(this.options.model); //undefined on client, logs model attributes on server
    }
});

module.exports.id = 'post_view';

但模型似乎没有设置在 post_view.js 中。如果我在 {{forEach}} 循环中执行 {{json value}},我可以看到打印的 JSONified 输出。我需要做什么来传递模型,是否需要在 View 中手动构建它?谢谢!

最佳答案

我没有发表评论的名誉,但这不是答案。

当 subview 被初始化时,通常 model 还不存在。它肯定会在 postRender() 出现,并且应该在 getTemplateData() 出现。我不记得导致这种竞争情况的 {{view}} 插件的确切问题,但我以前确实见过这种情况。虫洞就在这附近:https://github.com/rendrjs/rendr/blob/master/shared/base/view.js#L438并且是在服务器上工作但并不总是在客户端上工作的东西。

关于javascript - Rendr 如何在 RendrJS 同构框架中将模型传递给 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33463139/

相关文章:

javascript - 如何让网页只显示一次?

javascript - 为什么在新的 react-router-dom 中 <Redirect/> 不在 setTimeout 内触发?

javascript - 表单提交上的 CSS/JQuery/Angular 转换

javascript - $(window).on ("load") 在 postRender 中未触发

node.js - AirBnB node.js rendr 有多稳定?

javascript - Mocha 运行 rendr 集合 ajax 单元测试

javascript - 如何使用 html 和 javascript 创建复制按钮?

c# - 如何在 JavaScript 中获取路由参数?

node.js - 单击链接时运行 Rendr 示例会导致 HTTP 502 错误