Javascript Quasar框架下Vue组件中的jQuery函数

Javascript Quasar框架下Vue组件中的jQuery函数,javascript,jquery,vue.js,dollar-sign,quasar-framework,Javascript,Jquery,Vue.js,Dollar Sign,Quasar Framework,我是web应用程序开发新手,我对jQuery和Vue有一些基本的疑问,但我似乎找不到答案。我有一个在Quasar框架中开发的应用程序,它经常使用功能参考,如: - {{ $t("refer to some variable in another Vue component") }} - $v.form.username.$touch - $customVueComponent - this.$q 等等。这些在Vue组件的“模板”和“脚本”部分都使用。我熟悉Javascript(或者我认为我是如

我是web应用程序开发新手,我对jQuery和Vue有一些基本的疑问,但我似乎找不到答案。我有一个在Quasar框架中开发的应用程序,它经常使用功能参考,如:

- {{ $t("refer to some variable in another Vue component") }}
- $v.form.username.$touch
- $customVueComponent
- this.$q
等等。这些在Vue组件的“模板”和“脚本”部分都使用。我熟悉Javascript(或者我认为我是如此),但对jQuery知之甚少。据我所知,这些函数引用内置于jQuery中,并且以某种方式引用了一些内部功能

如果有人能解释这些“$”引用的确切含义,它们是如何工作的,如何使用它们,以及是否有这些函数的完整列表可供参考,那就太好了


非常感谢

我不是专家,但我已经与vuejs、jquery和quasar合作了一段时间,因此我想我可以帮助您解决一些疑问

关于jQuery和VueJS的信息

首先我想说,使用VueJS的jQuery通常被看作是VueJS开发人员的一个糟糕的做法(只要你不使用相同的东西,特别是事件和DOM,你就认为你必须在你的应用程序的某个部分使用它)。 原因是Vue的工作方式与jQuery对DOM和事件的操作产生冲突。VueJS生命周期的工作方式是,连接Vue的DOM经常更新,以匹配实例定义的内容(反应性)。这意味着jQuery可能无法跟踪此上下文中绑定的事件,从而导致两者之间的协同性差

另一件事是,基本上你可以用jQuery做的任何事情都可以用Vue+纯Javascript来做,所以我只建议你在必要时使用jQuery,就像你开发的这个旧网页中已经有了jQuery,或者因为你必须在一个已经只有Vue的应用程序中使用某个jQuery插件。为此,你必须创建se用道具、数据、挂载和观看的组合,为jQuery插件中要复制的每个功能分离组件,基本上手动更新插件

关于$sign

关于这个$符号,你把它和jQuery混淆是很正常的,因为在前面提到的javascript框架中,$是jQuery的缩写

例如,您可以:

jQuery("#test").val()
或者干脆这样做

$("#test").val()
这就是jQuery

VueJS和类星体中的符号

此$符号用于vue实例和组件默认具有的属性或方法的名称前面

如果您已经使用vue一段时间了,您会注意到,如果要获取DOM的特定部分或组件的引用,您需要为其设置一个ref,然后使用vue实例的$refs属性调用它。此$refs属性是vue实例的基本属性

还有其他一些属性,如$data、$options、$el、$emit、$watch等。您可以在这里找到更多与此属性相关的内容,以及VueJS如何为$data之类的内容使用代理

由于Quasar是一个VueJS框架,我们知道在VueJS中使用jQuery通常不被视为一个好的实践,因此我们可以安全地假设Quasar开发人员将此符号用于其他用途,而不是用于jQuery调用。例如命名原型/基本对象

在你给出的例子中

  • $t通常用于一个国际化插件。你可以在Quasar的页面上看到它
  • $v用于表单验证的插件。在Quasar的文档中有专门的页面
  • $q是quasar的基本对象,您可以从中调用某些插件,如Notify:

    这个.q.notify.create('Danger,Will Robinson!Danger!')

您还可以设置sessionStorage、localStorage,并调用按上述方式注入的其他原型


tl;dr:$在jQuery中用于简化jQuery调用。jQuery和Vuejs一起通常被视为一种不好的做法,但可以这样做。Quasar是Vuejs框架,因此它是使用Vuejs+纯Javascript开发的。名称开头带有“$”的属性是Vuejs和Vuejs的原型属性、方法和对象nd Quasar,在每个Vue实例和Quasar页面中都会重复使用,其目的类似于轻松访问组件的数据、调用插件或向父组件发送和事件。

我不确定
这一点。$q
,但我很确定其他人不会引用jQuery。在Vue的上下文中,您应该假设e> $很可能与jQuery无关。这是可能的,但我也没有找到任何函数定义,例如t或v,这就是为什么我倾向于认为它们与jQuery有关。显然,$t(“文本”)以某种方式用于将文本转换为应用程序的选定语言。很可能您做得不对。Vue是数据驱动的。仔细阅读如何使用Vue,您很可能会放弃JQuery,因为Vue已经为您完成了需要JQuery为您做的一切。非常感谢您的详细解释!Vuelidate detai当我在Quasar文档中查找$v时,ls没有出现。我希望我现在可以轻松地理解它的结构。(迷失在空间中的参考非常酷!)但不幸的是,找不到所有这些原型/基础对象的简单方法,对吗?