我正在尝试从集合中获取ID以传递给视图。 我能够获取模型的信息,但是无法获取视图来获取数据。

在我的模板中,每一行都有模型ID:

<td><a href="#/process/<%= model.id %>"><%= model.name %></a></td>

我的路由器如下所示:

var Router = Backbone.Router.extend({
routes: {
    '': 'welcome',
    'process/:id': 'process'
}

});

var router = new Router();

router.on('route:process', function(id) {
  console.log('home page loaded');
  console.log(id);
  var processing = new Processes({id:id});
  processing.fetch({
    success: function(model,response){
        console.log(model.where({'id':id}))
    }
})
processView.render({id: id});
});

正确的ID即将通过,但我无法获取该ID的视图。

这是我使用Backbone.js的第一个项目

#1楼 票数:1

在fetch( http://backbonejs.org/#Model-fetch )方法调用返回之前,id / model属性将不可用,因为它是异步完成的Ajax调用。

因此,从服务器获取数据后需要执行的所有操作都应放在成功/错误(用于错误处理)回调中

在您的情况下,对呈现视图的调用应在成功回调中以bel的形式移动。

processing.fetch({
    success: function(model,response){
        console.log(model.where({'id':id}))
        processView.render({id: id});
    }
});

  ask by user2573699 translate from so

未解决问题?本站智能推荐:

4回复

Backbone.js我应该在何时何地获取收集数据?

我对何时何地实例化集合并在主干应用程序中获取它们感到困惑。 我已经看到它已经完成了一些工作,并在我非常简单的小型CRUD联系人管理器应用程序Im中进行了工作,但是我确定有些我不知道的约定和“陷阱”。 这些是我看过的选项,要么开始工作,要么是“工作” :)从概念上讲,选项4似乎是最好的
1回复

如何在获取新数据之前清除主干集合?

大家好,我一直在开发主干应用程序,在该应用程序中添加图像,并删除或编辑现有图像。 现在我在路由器的各个部分(如图库,表单)使用路由器,但是当我在图库中编辑某些内容时,又回到表单,然后又回来,我没有得到之前所做的更改。 而是显示旧数据。 我需要刷新,我的意思是CTRL + F5才能看到更改不
2回复

Backbonejs视图绑定概念反馈

我碰到了这篇文章( http://coenraets.org/blog/2012/01/backbone-js-lessons-learned-and-improved-sample-app/ ),并且想知道是否在实例化它们之后的路由器是最佳实践。 我一直在绑定我的视图并在我的视图定义中渲染它
2回复

如何使用骨干网从路由器中获取ID值

我有一个router.js和view.js 我希望在查看页面中从router.js页面传递的ID值。 我该怎么办? 这是我的路由器: 在我看来,我想要在html元素中设置的id值这是我的视图 / ** *由HP在2014年6月17日创建。 * /
2回复

过滤Backbone.js集合

因此,我可以从数据库中获取一个集合并使用以下代码显示它: 而且效果很好。 在我的Rails模型中(几秒钟切换到Rails),我有一个发布模型和一个文章模型。 每个出版物都有很多文章,并且每个文章都属于一个出版物。 此外,每篇文章都有一个publication_id列。 回
1回复

Backbone.js-视图未重新加载

因此,我设法弄清楚了如何从外部文件填充我的收藏集,并基于URL渲染视图,但是我遇到了一个问题。 下面的代码按预期工作,除页面加载外,出现以下错误: 摆脱“ view.render()”可以消除错误,但是现在应用程序不再响应URL中ID的更改(例如,从#/ donuts / 1变为#/
1回复

在视图中创建新集合-Backbone.js

我正在编写一个简单的Backbone.js代码,该代码基于从JSON获取的配置创建练习。 现在的流程是: 我的代码中的某种控制器获取JSON文件(由jQuery)。 我创建描述模型(基于我的JSON文件的一部分),并通过遍历JSON文件中“答案”数组中的所有项并将它们添加
1回复

Backbone.js _ensureElement错误

当我想从路由器类初始化视图时,我收到此错误。 错误是:未捕获TypeError:对象#没有方法'_ensureElement' BlogFormView: 路由器: