私は自分自身を教えています。Vue.js 2.私の仕事は、Hacker News APIからの投稿のリストを取得することです。リスト投稿をクリックすると、その特定の投稿のデータの一部が表示されます。Vue.js 2 - Vuexを使用せずにビュー間でXHRデータを共有する?
第1ビューから第2ビューへのルーティング時に第2ビューにデータが取り込まれるREST APIデータを取得する方法を理解するのは非常に困難です。
(私は(それは、このような小さなアプリケーションです)Vuex)?(VUE-ルータとVUE-リソースを使用して、いないよ。)以下
はItem.vueとList.vueです。 List.vueから、リストアイテムをクリックしてItem.vueにルーティングしようとしています。たとえば、「Guy Has Vough With Vue」というリスト項目をクリックして、2番目のビューを開いて、タイトルのタイトル、スコア、URL、および「Guy Has Tough Time with Vue」のコメントを表示します。
List.vue(リスト、XHRリクエストを作成します)
<template>
<div class="list-container">
<h1>List Vue</h1>
<ul class="item-list" v-for="(item, index) in this.items">
<li>
<router-link class="list-item" :to="/views">
{{index + 1}}. {{item.title}}
<div class="points">
Points: {{item.points}}
</div>
</router-link>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'List',
props:[]
data(){
return {
items: []
}
},
mounted: function(){
console.log("created");
this.fetchList();
},
methods: {
fetchList(){
this.$http.get('http://hn.algolia.com/api/v1/search?query=javascript&hitsPerPage=25').then((response) => {
this.items = response.data.hits;
})
}
}
}
Item.vue(List.vueから項目固有のデータを受信します)事前に
<template>
<video id="bgvid" playsinline autoplay loop>
<source src="./src/assets/rad.mp4" type="video/mp4">
<div class="item-container">
<h1>Item Vue</h1>
<div class="post-title"></div>
<div class="post-score"></div>
<div class="post-url"></div>
<ul class="post-comments">
<li class="sngl-comment">
</li>
</ul>
</div>
</video>
</template>
<script>
export default {
name: 'Item',
data(){
return {
item: {}
}
},
mounted: function(){
console.log("created");
},
methods: {
}
}
</script>
ありがとう!
クレイグ、感謝を。私の問題は、私が "View2"にルーティングするとき、私はその "id"の流れだけを渡していることです。アイテム全体のデータが必要です({id:blah、points:893、url:newyorktimes.com/article/blah})。データヒット(オブジェクト)全体を「view2」にするにはどうすればよいですか?それは理にかなっていますか? "view1"の項目のデータを使用して、view2のフィールドに値を設定する必要があります。 – ErikK
idで個々のレコードを取得できない場合は、状態を抽出する必要があります。つまり、vuexを使用する必要があります。私はあなたにそれを行う方法を示すために私の答えを更新しました(心配しないでください、それはかなり簡単です)。 –
クレイグ、ありがとう。あなたはたくさん助けてくれました。アンカータグのルータリンクを削除するのはなぜですか? – ErikK