Я не эксперт, но некоторое время я работал с vuejs, jquery и quasar, поэтому думаю, что смогу помочь вам с некоторыми вашими сомнениями.
О jQuery и VueJS
Сначала я хотел бы сказать, что использование jQuery с VueJS обычно считается плохой практикой для разработчиков VueJS (вы можете использовать его, если оба не касаются одних и тех же вещей, особенно событий, DOM ичто вы считаете, что ДОЛЖНЫ использовать его для определенной части вашего приложения).
Причина этого в том, что работа Vue создает конфликты с манипулированием JQuery DOM и событиями.Жизненный цикл VueJS работает таким образом, что DOM, к которому подключен Vue, довольно часто обновляется, чтобы соответствовать определению экземпляра (реактивность. Это означает, что jQuery может потерять отслеживание событий, связанных внутри этого контекста, что приведет к плохой синергии между ними.
Другое дело, что практически все, что вы можете сделать с jQuery, вы уже можете делать с помощью Vue + plain Javascript, поэтому я рекомендую использовать jQuery только в том случае, если вы обнаружите, что это необходимо, как это уже было на этой старой веб-странице, которую вы разрабатываете, илипотому что вы должны использовать определенный плагин jQuery в уже Vue-приложении. Для этого вам нужно будет создать отдельные компоненты для каждой функциональности, которую вы хотите воспроизвести с помощью вашего плагина jQuery, с комбинацией реквизита, данных, смонтированных и наблюдаемых, в основномОбновление плагина вручную.
О знаке $
Итак, об этом знаке $. Это нормально, что вы спутали его с jQuery как '$' в ранее упомянутомJavascript Framework, работает как сокращение Fили jQuery.
Например, вы можете либо:
jQuery("#test").val()
, либо просто сделать это вместо этого ...
$("#test").val()
Так что это для jQuery.
знак $ в VueJS и Quasar
Этот знак $ используется перед именем свойств или методов, которые по умолчанию имеют экземпляры и компоненты vue.
Если вы использовали vue в течение некоторого времени, вы заметили бы, что если вы хотите получить ссылку для определенной части DOM или для компонента, вы должны установить для него ссылку, а затем вызвать ее, используя свойство $ refsВаш экземпляр Vue.Это свойство $ refs является базовым свойством экземпляров Vue.
Есть и другие, такие как $ data, $ options, $ el, $ emit, $ watch и т. Д. Вы можете найти больше связанных с этими свойствами и какVueJS использует проксирование для таких вещей, как $ data, в этой статье .
Поскольку Quasar - это среда VueJS, и мы знаем, что использование jQuery в VueJS обычно не считается хорошей практикой, мы можемсмело предполагайте, что разработчики Quasar используют этот символ для чего-то другого, а не для вызовов jQuery.Нечто подобное названию прототипов / базовых объектов .
В приведенном вами примере
- $ t часто используется для Vue-i18n , плагин интернационализации.Вы можете увидеть об этом на странице Квазара здесь
- $ v используется для Vuelidate , плагина для валидации в формах.В документации Quasar есть страница, посвященная этому здесь .
$ q - базовый объект квазара, где вы можете вызывать из них определенные плагины, такие как Notify:
this. $ Q.notify.create ('Danger, Will Robinson! Danger!')
Вы также можете установить sessionStorage, localStorage и вызывать другие прототипы, которыевпрыскивается как сказано здесь .
tl; dr: $ используется в jQuery для отмены вызова jQuery.jQuery и Vuejs вместе обычно считаются плохой практикой, но это можно сделать.Quasar - это фреймворк VueJS, поэтому он разработан с использованием Vuejs + plain Javascript.Свойства с '$' в начале их имени являются свойствами прототипа, методами и объектами из VueJS и Quasar, которые повторяются в каждом экземпляре Vue и страницах Quasar и имеют такую цель, как легкий доступ к данным компонента, вызов плагина илиизлучение и событие в родительский компонент.