2

刚开始使用 Ember.JS,所以如果这是一个愚蠢的问题,我深表歉意。我的app.js文件中有这个:

window.Todos = Em.Application.create();

Todos.Todo = Em.Object.extend({

    title: null,
    completed: false

});

Todos.todosController = Em.ArrayController.create({
    content: [],

    createTodo: function(title)
    {
        var todo = Todos.Todo.create({title: title});

        this.pushObject(todo);
    }
});

Todos.CreateTodoView = Em.TextField.extend({

    insertNewLine: function()
    {
        alert('test');
        var value = this.get('value');

        if (value)
        {
            Todos.todosController.createTodo(value);

            this.set('value', '');
        }
    }
});

然后在我的index.html文件中:

 <script type="text/x-handlebars">
   {{view Todos.CreateTodoView id="new-todo" placeholder="What needs to be done?"}}
 </script>

我相信insertNewLine当您在文本框中按回车键时会调用它,对吗?文本框渲染得很好,但每当我按下回车键时它什么都不做。

4

1 回答 1

3

应该是insertNewline。注意小写 l。有了它可以按预期工作。看到这个小提琴

于 2013-02-06T11:50:38.357 回答