将公共数据挂在 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

相关推荐
想吃火锅10052 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
原则猫4 小时前
HOOKS 背后机制
前端
码语智行4 小时前
首页导航跳转功能深度解析-系统内和系统外
前端
阿猫的故乡5 小时前
Vue过渡动画从入门到装X:淡入淡出、滑动、列表动画、第三方库全搞定
前端·javascript·vue.js
裕波5 小时前
Vue&ViteConf 2026 将于 7 月 18 日在上海举办,尤雨溪将现场发表主题演讲
vue.js·vite
IManiy5 小时前
总结之Vibe Coding前端骨架
前端
小和尚敲木头5 小时前
vue3 vite动态拼接图片路径
javascript
JS菌5 小时前
AI Agent 沙箱双层防护体系:从权限过滤到内核隔离的完整实现
前端·人工智能·后端
Aphasia3115 小时前
从输入URL到页面展示全流程
前端·面试
我叫黑大帅6 小时前
前端如何竖屏固定视口背景
前端·javascript·面试