vue.js - 从外部 Vue 应用程序触发存储操作
问题描述
我想在页面上的不同位置包含按钮,在页面其他地方的 Vue 组件之外,通过点击事件触发存储操作。我的组件中有按钮,它们可以做同样多的事情,然后连接到方法v-on:click
,然后通过this.$store.dispatch
. 是否可以从 Vue 外部执行此操作?
解决方案
要直接回答您的问题,您可以通过将 Vue 实例直接挂在 上来做您想做的事情window
,例如:
<div id="app">
<p>{{ message }}</p>
</div>
window.IVue = new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
},
store: new Vuex.Store({
actions: {
hello() {
return Promise.resolve('Hello from the store!')
}
}
})
})
window.IVue.$store.dispatch('hello').then((message) => {
Vue.set(window.IVue, 'message', message)
})
您会看到来自商店的消息是您好!
推荐阅读
- javascript - 在 PhantomJS 中使用类名创建嵌套元素
- php - 如何在php中获取搜索结果
- php - 使用 PHP 在 MySQL 中插入图像时出错
- javascript - 如何将 dropzone 放在表单中但仍允许原始表单提交?
- c# - 从 Azure Active Directory 获取 MVC Web App 中的 samAccountName 名称
- haskell-stack - 如何显示`stack haddock`的进度?
- jquery - 当使用 Laravel 取消选择另一个框时,取消选择“全选”复选框。
- php - PHP MariaDB PDO 计算重复值
- javascript - 当元素被另一个元素替换时计数动画
- excel - 汇总成 Mastersheet 后自动排序