将公共数据挂在 Vue 原型上(简单、适合 CDN)

在common.js里获取共同的数据后,统一挂载到vue原型上,不用每个页面都调用

Vue.observable 让对象变成响应式,一处修改,所有用到的地方自动更新。

无需混入 data,避免了数据副本问题。

Vue.observable([]) 的作用是将一个普通对象(或数组)转化为响应式对象。

Vue.observable({ name: '', age: 0 }) 括号里面的就是初始值

javascript 复制代码
// 在 common.js 中,new Vue 之前
const store = {
    paylist: Vue.observable([]),   // 创建响应式对象
    memberlevel: Vue.observable({ name: '', age: 0 }),
    // ... 其他数据
};

// 挂载到 Vue 原型,所有组件通过 this.$store.xxx 访问
Vue.prototype.$store = store;

// 在根组件中更新数据
getindexdatas() {
    $.ajax({
        success: (res) => {
            this.$store.paylist = res.data.paylist;   // 更新共享数据
        }
    })
}

// 在任何组件中读取
console.log(this.$store.paylist);

或者直接写变量,不用中间的$store 变量

javascript 复制代码
// 在 common.js 中,new Vue 之前

// 挂载到 Vue 原型,所有组件通过 this.$store.xxx 访问
Vue.prototype.paylist = Vue.observable([])   // 创建响应式对象
Vue.prototype.memberlevel= Vue.observable({ name: '', age: 0 })   // 创建响应式对象
// ... 其他数据

// 在根组件中更新数据
getindexdatas() {
    $.ajax({
        success: (res) => {
            this.paylist = res.data.paylist;   // 更新共享数据
        }
    })
}

// 在任何组件中读取
console.log(this.paylist);

免费在线工具网站 https://mantools.top

相关推荐
ayqy贾杰2 小时前
GPT-5.5+Codex全自动搓出macOS游戏,创作链路首次真正连续
前端·面试·游戏开发
英俊潇洒美少年4 小时前
Vue2/Vue3 vue-i18n完整改造流程(异步懒加载+后端接口请求)
前端·javascript·vue.js
空中海10 小时前
第七章:vue工程化与构建工具
前端·javascript·vue.js
zhensherlock10 小时前
Protocol Launcher 系列:Trello 看板管理的协议自动化
前端·javascript·typescript·node.js·自动化·github·js
zhuà!10 小时前
element的el-form提交校验没反应问题
前端·elementui
龙猫里的小梅啊10 小时前
CSS(一)CSS基础语法与样式引入
前端·css
小码哥_常10 小时前
从0到1,开启Android音视频开发之旅
前端
渔舟小调10 小时前
P19 | 前端加密通信层 pikachuNetwork.js 完整实现
开发语言·前端·javascript
qq_120840937111 小时前
Three.js 工程向:Draw Call 预算治理与渲染批处理实践
前端·javascript
旷世奇才李先生12 小时前
Vue3\+Vite\+Pinia实战:企业级后台管理系统完整实现(附源码)
vue.js