Показать сообщение отдельно
  #1 (permalink)  
Старый 08.02.2016, 10:30
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Не могу передать значение в представление
html

<style>
fieldset {border:0; width:50%;background: grey}
</style>

<form id="todo" style="border:1px solid red; min-height:20px;"></form>
<script type="text/template" id="item-template">
<fieldset>
<input id="todo_complete" type="checkbox" <%=completed ? 'checked="checked"' : '' %>>
</fieldset>
</script>



Модель:
var Todo = Backbone.Model.extend({

defaults :{title:'old',completed: true},
docTitle : 'Todo title'

});

var myTodo = new Todo ({docTitle:'myTodo title',completed: false, title: 'new'});

Представление:
var TodoView = Backbone.View.extend({
//id:'todo',
todoTpl: _.template($('#item-template').html()),
	events: {
		'click':'click_function'
	},
	initialize: function(){
		this.render();
	},
	render: function(){
		this.$el.html ( this.todoTpl ( this.model.toJSON() ) );
		document.title = this.model.docTitle;
		
		return this;
	},
	click_function: function(e){
		console.log(e.target.tagName);
		console.log(this.$el === e.target);
	}
});


var todoTiew = new TodoView({model: myTodo, el :$("#todo")});


Запускаю, но title у страницы почему-то выводится "Todo title", а не "myTodo title" и значение title тоже не меняется. Почему?

Далее когда я щелкаю по тегу форм, console.log(this.$el === e.target); почему-то выдает false. Почему?
Ответить с цитированием