0

ここに私の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 ファイルでアクセスできません。次に、AMD アプローチを使用するこの質問を見つけましたが、私のアプリはかなり小さく、必要なのは別の js ファイルで初期データを取得することだけなので、require.js を追加したくなく、この foo_models 変数をグローバルにしたくありません。</p>

どうすればそれを行うことができますか?

4

1 に答える 1

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);

あなたのアプリのどこかに(fooCollection定義された後)。

于 2013-04-25T16:24:00.643 に答える