Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 在视图中引用HTML元素,是一种约定吗?_Backbone.js - Fatal编程技术网

Backbone.js 在视图中引用HTML元素,是一种约定吗?

Backbone.js 在视图中引用HTML元素,是一种约定吗?,backbone.js,Backbone.js,我目前正在学习Backbone.js,我正在使用《开发主干应用程序》一书 我有一个关于HTML元素的引用以及它们是如何存储的问题。例如: initialize: function() { this.$input = this.$('#new-todo'); 这里ID为to-do的HTML元素存储在this.$input中,为什么我们在输入前使用$,这仅仅是一种约定吗?如果我将此更改为$input。input,我的代码工作正常。我觉得这令人困惑,因为书中说: 视图。$el属

我目前正在学习Backbone.js,我正在使用《开发主干应用程序》一书

我有一个关于HTML元素的引用以及它们是如何存储的问题。例如:

   initialize: function() {
        this.$input = this.$('#new-todo');
这里ID为to-do的HTML元素存储在this.$input中,为什么我们在输入前使用$,这仅仅是一种约定吗?如果我将此更改为$input。input,我的代码工作正常。我觉得这令人困惑,因为书中说:

视图。$el属性相当于$(view.el)视图。$(选择器)相当于$(view.el)。查找(选择器)

我认为$(view.el)做的事情与(view.el)完全不同

如何将$input保存在Backbone.js中?如果I console.log,它将生成:

Object[input#new-todo property value = "" attribute value = "null"]
有人能给我一些见解吗?:)

  • 在变量名前面使用$infront只是一种命名约定。它帮助开发人员区分持有jQuery对象的变量和其他对象

  • $el是主干网提供的一个辅助变量,因此我们可以直接使用它,而不是显式地形成jQuery对象。因此view.$el相当于$(view.el)

视图。$el在setElement方法中分配:

setElement: function(element, delegate) {
   // Some code
   this.$el = element instanceof Backbone.$ ? element : Backbone.$(element);
   // Some code
}
主干.$是对jQuery导出的$全局变量的引用

  • 视图。$(选择器)是在视图中定义的方法。它的定义与$(view.el).find(选择器)的定义完全相同

    $:函数(选择器){ 返回此。$el.find(选择器); }

$(view.el)
是对
$
函数的调用,以
view.el
作为参数,
(view.el)
简单地包装在分组括号中(不是函数调用括号)。请记住,
$
是jQuery提供的函数,
this。$el
是主干提供的视图属性,
this。$
是主干提供的视图函数,美元符号只是JavaScript标识符中有效的字符。