前端学习(2411):name属性的作用
先糾正一下,這個問題的標題和內容不是一個問題,這里應該是涉及到兩個知識點:
- 組件的 name
- 路由的 name
下面我分別解釋一下。
組件的 name
參考鏈接:https://router.vuejs.org/zh/guide/essentials/named-routes.html
組件的 name 是組件對象中的一個配置選項,類似于下面這樣:
export default {name: 'App',data () {return {}},methods: {},... }允許組件模板遞歸地調用自身。注意,組件在全局用 Vue.component() 注冊時,全局 ID 自動作為組件的 name。
指定 name 選項的另一個好處是便于調試。有名字的組件有更友好的警告信息。另外,當在有 vue-devtools,未命名組件將顯示成 <AnonymousComponent>,這很沒有語義。通過提供 name 選項,可以獲得更有語義信息的組件樹。
路由的 name
參考鏈接:https://router.vuejs.org/zh/guide/essentials/named-routes.html
路由的 name 是路由對象中的一個配置選項,類似于下面這樣:
const router = new VueRouter({routes: [{path: 'foo',name: 'foo'component: Foo}] })假設我們有一個動態路由:
const router = new VueRouter({routes: [{path: '/user/:userId',component: User}] })如果你要使用 JavaScript 跳轉到這個動態路由,則你需要這樣寫:
this.$router.push('/user/' + 用戶ID)如果是在模板中進行路由導航,那就是這樣的:
<router-link :to="'/user' + 用戶ID">User</router-link>以上的方式雖然簡單粗暴,但是通過拼接字符串得到完整路由路徑進行導航不太直觀。
所以更好的方式就是給路由配置對象起一個名字,就像下面這樣,這個 name 和 path 沒有任何關系,它就是一個代號,需要注意的是路由的 name 不能重復。
const router = new VueRouter({routes: [{path: '/user/:userId',name: 'user',component: User}] })現在你可以這樣處理路由導航:
router.push({ name: 'user', params: { userId: 123 }}) <router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>所以結論就是:無論是否需要使用路由的 name,都建議給它寫上,當你需要的時候就非常有用了,這是一個建議的做法。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的前端学习(2411):name属性的作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么在12306买火车票要装根证书?
- 下一篇: 2021 年百度之星·程序设计大赛 -