javascript - 如果我与 js 文件中的所有组件共享配置数据可以吗?

标签 javascript vue.js vue-component

我有配置数据,它会同时影响每个组件的状态。

因此,我从同一个 js 文件导入该配置对象,并在组件的数据中使用它。

看起来不错,如果我从源头更改配置,所有组件都会动态更改它们的 View 。

但是,我在其他任何项目中都找不到这种方式,这似乎不规则。

如果一直这样,会不会出什么问题?

配置数据:

export default {
  status: {
    name: 'xxx',
    sex: 'male'
  }
}

所有组件:

import config from './config'

data() {
  return {
    config
  }
}

如果我从这些组件中的任何一个触发这个方法,所有组件都会改变:

methods: {
  setUser() {
    this.config.state.name = 'yyy'
  }
}

感谢阅读。

最佳答案

它因项目要求而异。但是,根据您的要求,您需要访问每个组件中的数据而不是某些组件中的数据。在这种情况下,您可以配置一个将在所有组件中调用的中间件。

使用中间件将使您受益,而不是在每个组件中导入配置。

如果你只想在某些组件中调用它们,那么你可以配置 mixinsplugins .

为此提供答案似乎是一个广泛的帖子。我希望您能找到有用的资源来学习和使用它们。然而,这里有一本很好的读物,它解释了何时使用组件、混入和插件:

component vs mixins vs plugins

关于javascript - 如果我与 js 文件中的所有组件共享配置数据可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56008073/

相关文章:

javascript - React JSX - Babel Transpilation - 它是如何工作的?

javascript - 如何通过递归减少传播

javascript - 添加一个类并删除当前类,以便 J Query 中的按钮可以重新用于不同的功能

php - 使用 Laravel 为后端刷新 Vue.js SPA 的身份验证 token

javascript - Vue react 性 : Computed changes data but then is not reacting to it

javascript - Axios 400 错误请求调用 then 而不是 catch

vue.js - Vue组件渲染函数: print unescaped html entity

javascript - List.js 搜索 <img> 对象?

webpack 和 vue js include component 到 component

vue.js - VueJS : Why parent's data property not updated when custom event emitted on child fires?