私はバックボーンでかなり単純なアプリケーションを設定していますが、エラーが発生しています。"Uncaught TypeError:未定義は関数ではありません" - Beginner Backbone.js Application
Uncaught TypeError: undefined is not a function example_app.js:7
ExampleApp.initialize example_app.js:7
(anonymous function)
エラーがクロームインスペクター(初期化ファイル - example_app.js)中に示しているところである:
var ExampleApp = {
Models: {},
Collections: {},
Views: {},
Routers: {},
initialize: function() {
var tasks = new ExampleApp.Collections.Tasks(data.tasks);
new ExampleApp.Routers.Tasks({ tasks: tasks });
Backbone.history.start();
}
};
ここに/私のタスクは
- content_for :javascript do
- javascript_tag do
ExampleApp.initialize({ tasks: #{raw @tasks.to_json} });
= yield :javascript
モデルを提出index.hamlですタスク.js
var Task = Backbone.Model.extend({});
col lections/tasks.js
var Tasks = Backbone.Collection.extend({
model: Task,
url: '/tasks'
});
ルータ/
ExampleApp.Routers.Tasks = Backbone.Router.extend({
routes: {
"": "index"
},
index: function() {
alert('test');
// var view = new ExampleApp.Views.TaskIndex({ collection: ExampleApp.tasks });
// $('body').html(view.render().$el);
}
});
をtasks.jsそしてここで私は、すべてのファイルを呼んでいる証拠だ(と思う):
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/underscore.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support/support.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support/composite_view.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support/swapping_router.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support.js?body=1" type="text/javascript"></script>
<script src="/assets/example_app.js?body=1" type="text/javascript"></script>
<script src="/assets/easing.js?body=1" type="text/javascript"></script>
<script src="/assets/modernizr.js?body=1" type="text/javascript"></script>
<script src="/assets/models/task.js?body=1" type="text/javascript"></script>
<script src="/assets/collections/tasks.js?body=1" type="text/javascript"></script>
<script src="/assets/views/task_view.js?body=1" type="text/javascript"></script>
<script src="/assets/views/tasks.js?body=1" type="text/javascript"></script>
<script src="/assets/views/tasks_index.js?body=1" type="text/javascript"></script>
<script src="/assets/routers/tasks.js?body=1" type="text/javascript"></script>
<script src="/assets/tasks/index.js?body=1" type="text/javascript"></script>
<script src="/assets/tasks/task.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
任意のアイデア素晴らしいことだ。ありがとう!
'pears_planner.js'の12行目は何ですか?そのコードは含まれていませんが、問題のある場所にエラーメッセージが表示されます。実際には、この質問の唯一の関連するコードである可能性が高いと言っています。 –
申し訳ありませんが、それは7行目(私はあるバージョンでいくつかのコメントがありました)と言ってください。これはイニシャライザファイルになります: 'var tasks = new ExampleApp.Collections.Tasks(data.tasks);' – jake
エラーが間違っているのを待ちますか?そのコメントに書いたコードには、あなたのエラーがどこから来ているのかを示す 'PearsPlanner.initialize'についての言及がありません...私たちがあなたを助けてくれるように助けてください...エラーメッセージをポストしてください。メッセージ参照。 –