2016-12-19 9 views
-2

Что делает this см. В initialize и render свойства?Что означает «это»?

код JavaScript:

SearchView = Backbone.View.extend({ 
    initialize: function(){ 
    this.render(); 
    }, 
    render: function(){ 
    // Compile the template using underscore 
    var template = _.template($("#search_template").html(), {}); 
    // Load the compiled HTML into the Backbone "el" 
    this.$el.html(template); 
    } 
}); 
var search_view = new SearchView({ el: $("#search_container") }); 

HTML код:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Backbone.js App</title> 
    <meta name="description" content=""> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script> 
</head> 
<body> 
<div id="search_container"></div> 

<script type="text/template" id="search_template"> 
    <label>Search</label> 
    <input type="text" id="search_input" /> 
    <input type="button" id="search_button" value="Search" /> 
</script> 

<script src="app.js"></script> 
</body> 
</html> 
+0

это относится к экземпляру, созданному функцией-конструктором 'new SearchView' – Agalo

+0

. Это основано на [_What является представлением? _] (Https://cdnjs.com/libraries/backbone.js/tutorials/what-is -a-view). –

+1

Простейший способ узнать это на 'console.log (this)' и посмотреть, что выводится на консоль –

ответ

-1

Это относится к объекту SearchView связанного с

<div id="search_container"></div> 
0

В вашем конкретном случае, это search_view.

Попробуйте следующее:

  • добавить console.log('this in initialize', this) в ваш метод инициализации
  • добавить console.log('this in render', this) в свой метод визуализации
  • добавить console.log('search_view', search_view) после var search_view = new SearchView(...);

и посмотреть, как эти результаты являются одинаковыми/разными.