javascript - 在 Vue 组件之外更改变量值的最佳方法

标签 javascript vue.js vuejs2

我正在寻找在组件外部更改 Vue 变量值的最佳方法。我正在使用 Vue webpack以及。

我已经使用 vue webpack 创建了一个项目。 在其默认的 App.vue 文件中,我有一个变量。例如,我们以 showModal 为例,它的默认值为 false。 然后我将它构建在一个 javascript 文件中。

<button>Register</button> {{-- event button --}}
<div id="guest"></div> {{-- Here I'm rendering my template --}}

<script src="{{ asset('js/vue-js/guest.js') }}"></script> {{-- builded Javascript file --}}

问题是我想将我的 showModal 变量更改为 true,但事件按钮不在我的组件模板上。

实现此目标的最佳方法是什么?

最佳答案

如果你想在 vue 之外访问一个 vue 组件,你可以将它注册到 window 对象,然后从任何地方访问它。

window.myVueComponent = new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

现在您可以从任何地方访问它

window.myVueComponent.myValue = 123

但这种“风格”之所以被称为全局命名空间污染,是有原因的。 ;)

我认为最好扩展您的 vue 应用程序,以便按钮也在 vue 处理的组件中。

关于javascript - 在 Vue 组件之外更改变量值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51173790/

相关文章:

javascript - 如何动态添加新对象到 vue(对象)数据数组 - Vue.js?

javascript - 除了组织之外,使用对象属性而不是变量还有其他意义吗?

javascript - 单击一次显示 div,单击外部时隐藏

vue.js - 我怎样才能让 vue DevTools 自动提交 vuex 突变?

javascript - Vue.js 编辑动态组件中的变量

javascript - 无法使用 vuetable-2 中的数组访问字段

javascript - 从浅复制对象中删除属性

javascript - 搜索存储在同一目录中的 HTML 文件中的关键字

vue.js - 为什么 vue.js 执行不触发 beforeUpdate、updated 和 activated 事件?

vue.js - Vue Bootstrap 4中的三列复选框