我想在我的Vue.js应用程序上显示此Google Alert RSS Feed(https://www.google.ie/alerts/feeds/10663948362751557705/4511034072220974544)中的一系列文章。
我已经创建了一个“ Feed.vue”组件,并希望在“ App.vue”上显示该feed。我的后端是Express.js。首先,我什至做到了这一点?我使用Javascript进行此操作,但想使用Vue.js作为前端。
由于某种原因,我遇到关于我的标题的错误消息:enter image description here
我的代码:
Feed.vue
<template>
<li>
{{feed.title}}
</li>
</template>
<script>
export default {
props: ["feed"]
}
</script>
App.vue
<template>
<div id="app">
<Feed></Feed>
<ul>
<feed v-for="feed in feeds" :feed="feed" :key="feed.title"></feed>
</ul>
</div>
</template>
<script>
import io from 'socket.io-client'
import Feed from './components/Feed.vue'
export default {
components: {
Feed
},
data () {
return {
feeds: []
}
},
mounted() {
this.subscribeToFeed();
},
methods: {
subscribeToFeed() {
const socket = io();
socket.on('feed', data => {
data.feed.entries().forEach(feed => {
this.feeds.push(feed);
});
});
}
}
}
</script>
我将其放置在代码中的什么位置?
const socket = io();
socket.on('feed', data => {
for (const [i, item] of data.feed.entries()) {
let itemContainer = $('<span></span>')
.addClass('feed__content')
.append(`<p>${i + 1}) ${item.title}<p>`)
.append(`<p>${item.link}</p>`)
.appendTo('.feed');
}
});
发生此错误,因为您在Feed
的第3行中声明了App.vue
组件而没有属性。
您的代码就是这样:
<template>
<div id="app">
<Feed></Feed> <!-- YOU NEED REMOVE THIS LINE -->
<ul>
<feed v-for="feed in feeds" :feed="feed" :key="feed.title"></feed>
</ul>
</div>
</template>
正确的代码是:
<template>
<div id="app">
<ul>
<feed v-for="feed in feeds" :feed="feed" :key="feed.title"></feed>
</ul>
</div>
</template>