日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue 里的$如何理解

發布時間:2025/3/21 vue 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue 里的$如何理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

  • 如下代碼:
new Vue({el: '#app',router,store,i18n,test,render: h => h(App) })// 用的時候this.$store.dispatch(xxx)

這里的 $store 是不是僅僅是 vue 里的一種命名方式而已?只要我在 new Vue 里初始化的了的,都可以用$+name 來調用

?

??

? ??1

swaggeek? ?2018-11-08 17:29:03 +08:00

$的話,看文檔的介紹,是內部函數的一種特殊命名方式。

?

? ??2

imherer? ?2018-11-08 17:32:56 +08:00

@swaggeek?文檔里的$在哪里呢,沒找到😂

?

? ??3

wildnode? ?2018-11-08 17:33:03 +08:00????1

我理解的 $ 只是一種約定俗成的明明方式,表示這個屬性或者方法存在于 Vue 實例的原型上:

比如 $store 也是 Vuex 源碼中掛載到 Vue 根實例上去的

?

? ??4

wildnode? ?2018-11-08 17:33:20 +08:00

明明 => 命名

??

? ??5

swaggeek? ?2018-11-08 17:34:28 +08:00????1

@imherer?你看 API,vue 內部的實例方法,都是$開頭的。具體介紹的我忘記在哪里看的了,現在一時找不到

?

? ??6

c9y? ?2018-11-08 17:37:46 +08:00 via Android????1

我的理解是:表示 私有,因為你定義的方法也會在實例的 this 鏈里。

?

? ??7

nealv2ex? ?2018-11-08 17:40:18 +08:00????1

https://cn.vuejs.org/v2/guide/instance.html#%E6%95%B0%E6%8D%AE%E4%B8%8E%E6%96%B9%E6%B3%95

> 除了數據屬性,Vue 實例還暴露了一些有用的實例屬性與方法。它們都有前綴 $,以便與用戶定義的屬性區分開來。

??

? ??8

swaggeek? ?2018-11-08 17:43:15 +08:00

@nealv2ex?是的,就是在這里看到的

??

? ??9

swaggeek? ?2018-11-08 17:43:52 +08:00

@imherer?看一下 7 樓老哥的,就是在里面有介紹

?

? ??10

shintendo? ?2018-11-08 17:53:30 +08:00

簡單回答樓主的關鍵問題:你傳的 store 和它自己的$store 只是碰巧同名,你傳進去的變量可以是任何名字

?

?

? ??11

zhzer? ?2018-11-08 17:58:09 +08:00 via Android

一般指代特殊變量,dom 對象,私有方法之類的
就是約定俗成,我通常用來標記 dom 用

?

? ??12

imherer? ?2018-11-08 18:21:45 +08:00

@shintendo?那 this.$store 這里的$store 對應的是就是我上面傳進去的 store 了?
還有我上面還傳了一個 test,那我可以 this.$test 這樣使用嗎?

?

? ??13

imherer? ?2018-11-08 18:23:15 +08:00

@swaggeek?文檔里這樣說的 “除了數據屬性,Vue 實例還暴露了一些有用的實例屬性與方法。它們都有前綴 $,以便與用戶定義的屬性區分開來”
那我自己可以新增嗎? 例如上面我在 new Vue 的時候傳入了 test,我可以 this.$test 這樣使用嗎?還是$只能是 Vue 定義好的?

?

? ??14

lrz0lrz? ?2018-11-08 19:27:31 +08:00????1

@imherer?#12 不可以,你可以把 this.$store 與 store 當成完全不同的東西。
如果想要自己新增,可以通過 Vue.prototype.$xxx 的方式添加。
之所以前面加 $,只是為了不與用戶定義的屬性沖突而已。

?

? ??15

shintendo? ?2018-11-08 20:39:03 +08:00????1

@imherer?可以自己新增,但不是通過傳入 new Vue,而是通過手動賦值:Vue.prototype.$test = test
比如最常見的 Vue.prototype.$http = axios

?

? ??16

asdf123101? ?2018-11-08 20:47:15 +08:00 via Android

純粹是約定,并不表示特殊含義

??

? ??17

Trim21? ?2018-11-08 21:31:36 +08:00 via Android????1

你也可以在 data 里用$前綴,不過不會被代理…

總結

以上是生活随笔為你收集整理的Vue 里的$如何理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。