这是我的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变量全局。
那我怎么能这样做?
答案 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}}后)。