Backbone.js 在视图中引用HTML元素,是一种约定吗?
我目前正在学习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属
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)
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标识符中有效的字符。