骨干路由使用jquery更改内容

时间:2012-07-01 11:21:02

标签: backbone.js meteor backbone-routing

我正在使用meteor,因此它有自己的基于把手的模板方法

在大多数示例中,我已经看到Backbone的路由方法,他们使用警报或其他东西,但对如何实际更改页面内容有点困惑

我用:

var fragment = Meteor.ui.render( function () {
    return Template["page"]();
});

$('#content').html(fragment);

我也有

<template name="page">...</template>

当然这确实有效,但是如果我用url#page加载页面它不会起作用,因为在加载DOM之前加载了$('#content'),所以它不会做任何事情。但它通常会将页面上的超链接用于url#page

我如何解决它,以便在将页面加载为URL时加载页面而不会破坏它在超链接中的使用。我的范例是否正确使用?

1 个答案:

答案 0 :(得分:1)

在内容模板中添加loadPage帮助器,然后在该模板帮助器中将Backbone路由代码放在Meteor.defer(function() { ... });内,这将使您的路由代码在添加内容模板后运行DOM,因此jQuery可以访问。