私は、Backbone.js用のサンプルアプリケーションのようなTodo-listアプリケーションを開発しようとしています。コードはhere(プロトタイプ分岐は最新です)です。テキストが入力されると、そのテキストを含むタスクをローカルストレージに保存する必要があります。しかし、以下のエラーでテキストを保存できませんでした。この「backbone.js」コードには「a._validateは関数ではありません」というエラーがあります。
a._validateは
なぜ関数ではありませんか?コードは以下のとおりです。
アプリ/資産/ JavaScriptの/ tasks.js.coffee
$ ->
tasks = new Todoapp.Collections.Tasks
appView = new Todoapp.Views.AppView(el: $("#todoapp"), collection: tasks)
アプリ/資産/ JavaScriptの/バックボーン/ビュー/ app.js.coffee
Todoapp.Views.AppView = Backbone.View.extend
events:
"keypress #task_input" : "createTask"
initialize: ->
this.collection.bind("add", this.alertCreate, this)
createTask: (e) ->
text = $("#task_input").val()
return if !text or e.keyCode isnt 13
this.collection.create(content: text)
$("#task_input").val("")
alertCreate: ->
alert("Created!")
アプリ/資産/ JavaScriptの/バックボーン/コレクション/ tasks.js.coffee
Todoapp.Collections.Tasks = Backbone.Collection.extend
model: Todoapp.Models.Task
localStorage: new Store("tasks")
アプリ/資産/ JavaScriptの/バックボーン/モデル/ task.js.coffee
Todoapp.Models.Task = Backbone.Model.extend
私はこの回答が好きです。追加するだけで、アンダースコアの問題がある場合は、backbone.jsの前にunderscore.jsがロードされていることを確認してください。 – Luke
@Luke:teクラスを定義するときに "undefined is not関数"の問題が発生するfアンダースコアが読み込まれませんでしたしかし、。これは「カッコは問題でない場合を除いてオプションです」という問題です。 –
ありがとうございました!それはちょうど働いた! 私はBackbone.jsでCoffeeScriptを学んでいるので、あなたのアドバイスは非常に便利です。 – naoty