假设我想将 Ember.js 示例todo app
中的视图修改为可调整大小。
执行此操作的 JQuery 代码是:
$("#container").resizable()
其中#container 代表一个div。我不确定这个片段应该属于应用程序结构中的哪个位置。它会进入 app.js 内部吗?下面列出了内容,我不确定哪种方法最适合放入上述代码段。
Todos = Ember.Application.create();
Todos.Todo = Ember.Object.extend({
title: null,
isDone: false
});
Todos.todosController = Ember.ArrayController.create({
content: [],
createTodo: function(title) {
var todo = Todos.Todo.create({ title: title });
this.pushObject(todo);
},
clearCompletedTodos: function() {
this.filterProperty('isDone', true).forEach(this.removeObject, this);
},
remaining: function() {
return this.filterProperty('isDone', false).get('length');
}.property('@each.isDone'),
isEmpty: function() {
return this.get('length') === 0;
}.property('length'),
allAreDone: function(key, value) {
if (arguments.length === 2) {
this.setEach('isDone', value);
return value;
} else {
return !this.get('isEmpty') && this.everyProperty('isDone', true);
}
}.property('@each.isDone')
});
Todos.CreateTodoView = Ember.TextField.extend({
insertNewline: function() {
var value = this.get('value');
if (value) {
Todos.todosController.createTodo(value);
this.set('value', '');
}
}
});
Todos.MainView = Ember.View.extend({
templateName: 'main_view'
});