【发布时间】:2025-12-02 15:35:02
【问题描述】:
我目前正在学习 Backbone.js,我正在使用《Developping Backbone Applications》一书。
我对 HTML 元素的引用及其存储方式有疑问。例如:
initialize: function() {
this.$input = this.$('#new-todo');
这里ID为to-do的HTML元素存储在this.$input中,为什么我们在input前面使用$,这只是一个约定吗?如果我将 this.$input 更改为 this.input 我的代码可以正常工作。我觉得这很令人困惑,因为这本书指出:
view.$el 属性 等价于 $(view.el) 并且 view.$(selector) 等价于 $(view.el).find(选择器)。
我认为 $(view.el) 的作用与 (view.el) 完全不同。
this.$input 如何保存在 Backbone.js 中?如果我 console.log 它,它会产生:
Object[input#new-todo property value = "" attribute value = "null"]
有人能给我一些见解吗? :)
【问题讨论】:
-
$(view.el)是对$函数的调用,view.el作为参数,(view.el)只是view.el包裹在分组括号中(不是函数调用括号)。请记住,$是 jQuery 提供的函数,this.$el是 Backbone 提供的视图属性,this.$是 Backbone 提供的视图函数,而美元符号只是 JavaScript 中有效的字符标识符。
标签: backbone.js