10/13

*Vueインフラストラクチャコースの復習
- ref : https://www.inflearn.com/course/vuejs/
*Vue-Router動的ルーティングマッチング
{ path: '/user/:id', component: User }
同じモード(例えば/user/foo、/user/bar)に従って同じ素子を再使用し、一致するid値に基づいてデータを受信し、情報を変更する必要がある場合に使用します.
=>要約:同じ構成部品を繰り返し使用し、セグメントに基づいてデータを動的に変更する必要がある場合に使用します.
ここでidはダイナミックセグメントと呼ばれ、ダイナミックセグメントは常に「コロン」で始まる必要があります.
動的セグメント(id)の値は、
this.$route.params
によって取得することができる./user/bar=>/user/fooに直接移動すると、同じ構成部品が再使用されるため、Vueのライフサイクルフックは続行されません.
この場合、「watch」検出$route変更によりid値の変化を検出できます.
*Vueネストルーティング
ネストされたルーティング:ルーティングによって別の構成部品を構成部品サブアイテムにマッチングします.
ソースの例
routes: [
{ path: '/user/:id', component: User,
children: [
{
// /user/:id/profile 과 일치 할 때
// UserProfile은 User의 <router-view> 내에 렌더링 됩니다.
path: 'profile',
component: UserProfile
},
{
// /user/:id/posts 과 일치 할 때
// UserPosts가 User의 <router-view> 내에 렌더링 됩니다.
path: 'posts',
component: UserPosts
}
]
}
]
=>Boardでレンダーされたリストをクリックしてカード要素をレンダーし、ネストされたルートを使用してBoard要素の上にあるモデルウィンドウに配置するためです.
=>Board Component内に
<router-view></router-view>
が作成された場合、ルーティングに従ってCardコンポーネントが一致します.//Card.vue
watch: {
//1. 정상 동작
$route(to, from) {
this.cid = to.params.cid;
},
//2. 에러 발생
$route : (to, from) => {
this.cid = to.params.cid;
}
},
このとき、Cardコンポーネントが$routeの変更を検出しない場合、コンポーネントは再使用され、ライフサイクルフックがないため、変更されたcid値は検出されません.
=>アロエ乳液を使うのが原因!
=>正確には、Arow Fengにはthisの値がないので、親コンテキストのthisを使用します.
Home.vueデータの読み込み
ストリーム:構成部品に表示するデータを宣言します=>api呼び出し関数=>
ライフサイクルフックで関数(データのインポート)=>データの変更を呼び出すと、ビューに=>構成部品が再表示されます.
更新時、token値がホームであっても.vueコンポーネントからapiを呼び出せないエラー
//@/store/index.js
//store 객체를 import 한 모든 곳에서 store를 사용할 수 있다.
const store = new Vuex.Store({});
if (sessionStorage.getItem("token")) {
const token = JSON.parse(sessionStorage.getItem("token"));
store.commit("LOGIN", token);
}
Reference
Reference
この問題について(10/13), 我々は、より多くの情報をここで見つけました https://velog.io/@kyh196201/1013テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol