我的vue组件是这样的:
<template>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false" :title="...">
...
<span v-if="totalNotif > 0" class="badge" id="total-notif">{{ totalNotif }}</span>
</a>
</li>
</template>
<script>
...
export default {
mounted() {
this.initialMount()
},
...
computed: {
...mapGetters([
'totalNotif'
])
},
methods: {
initialMount() {
Echo.private('App.User.' + window.Laravel.authUser.id).notification((notification) => {
const totalNotif = $('#total-notif').text()
const totalNotifNew = parseInt(totalNotif) + 1
$('#total-notif').text(totalNotifNew )
})
},
}
}
</script>
很管用
但是,它仍然使用jquery来获取和更新span上的文本
我如何使用vue.js2来实现这一点?
我看了一些参考资料,说它使用watch
。但是我还是很困惑如何使用它
2条答案
按热度按时间jhdbpxl91#
变更
签署人
但我不懂密码:
对于我的例子,我认为你可以有:
tjrkku2a2#
在模板上,使用以下命令更改跨度:
这将连接
span
和值totalNotif
。因此,在VueJs部分,删除jquery部分,仅更新数据totalNotif
,并自动更新span文本内容。EDIT为了更好地理解,脚本部分变成: