如何将骨干初始数据加载到另一个js文件

时间:2013-04-25 05:22:09

标签: javascript django backbone.js external

这是我的django渲染测试页

<!doctype html>
<html lang="en">
<head>
</head>
<body>
<div id="todo">
</div>
<script type="text/template" id="item-template">
<div>
  <input id="todo_complete" type="checkbox" <%= completed ? 'checked="checked"' : '' %>>
  <%- title %>
</div>
</script>
<script src="jquery.js"></script>
<script src="underscore.js"></script>
<script src="backbone.js"></script>

<script src="app.js"></script>
    //the app.js is my backbone app
<script >
    var foo_models = new fooCollection({{django_rendered_json_vaiable}})
    //this is how I get backbone collection initial data
</script>

</body>
</html>

上面的代码是我到目前为止所获得的,我将骨干引导模型作为foo_models, 但是这个变量无法在我的app.js文件中访问,然后我找到了this question,它使用的是AMD方法,但我的应用程序相当小,我只需要获得最初的另一个js文件中的数据,所以我不想添加require.js,我不想让这个foo_models变量全局。

那我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

*已编辑*

只需更改以下行:

<script src="app.js"></script>
    //the app.js is my backbone app
<script >
    var foo_models = new fooCollection({{django_rendered_json_vaiable}})
    //this is how I get backbone collection initial data
</script>

为:

<script >
    var raw_foo_models = {{django_rendered_json_vaiable}};
</script>
<script src="app.js"></script>

然后,添加以下行:

var foo_models = new fooCollection(raw_foo_models);

您应用中的某个位置(定义{{​​1}}后)。