uniapp设置全局变量和动态修改全局变量

知识技术 2022-05-03 09:19 1151
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/345.html

需求:

不同的事项跳转的页面流可能不一样,有一部分是一样的,一部分是不一样。另外,每个页面顶部都有一个步骤条,执行跳转不同的页面流时,每个页面顶部的步骤条也要跟着做对应的改变。


解决思路:

1、把前端页面的url给后台,后台开发人员把这些页面的url、步骤等等封装到接口里面,用户点击事项时,调用接口,获取这个页面对应页面流的url和步骤条数据。 2、项目默认一个步骤条数据,并把该默认数据复制给全局变量,然后在相应的组件中调用这个全局变量并且渲染数据。 3、如果用户点击的事项与默认的步骤条数据不一致,就在组件中更新全局变量的值。


具体实现代码:

在common文件夹中新建一个test.js文件,代码如下:

export default {
   $test: [
    {
       test: ''
    },
    {
           test: ''
    },
    {
       test: ''
    }
      ],
      setTest($test){
    this.$test= $test;
      }
}


我添加了一个全局变量 $test,一个是set方法:这个set方法是在组件中修改全局变量时需要的。

在vue项目中的main.js中导入test.js文件:

import test from './common/test.js'


然后将该对象添加到vue原型链上,这样就可以在组建中直接调用了

Vue.prototype.$test = test;


在组件中通过this访问:

this.$test.$test;


在html中访问

{{this.$test.$test}}


在组件中修改全局变量:

this.$test.setTest(test)


总结:

1、其实这个有点儿像根据不同的角色分配给用户不同的权限(有点儿类似)。

2、如果能充分理解这个实现的思想的话,可以应用到其他的更多的场景中。

 如果尝试上述方法无效的,欢迎留言。


点赞 (0)

收藏 (0)

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: 《建站管家》二次开发文档

下一篇: uniapp封装网络请求

请先登录后,再发表评论 ~ ~
发表评论
发表评论
发表帖子
广告位招租( ¥5 / 天 )
点击咨询
相关帖子

如果要判断文件是否存在,用函数 is_file(),如果要判断目录是否存在,用函数 is_dir()
用宝塔安装TP程序后,网站前台可以访问,后台无法访问,不是程序问题,而是web服务器环境配置问题(PHP配置),出现这种问题,一般是windows主机安装宝塔造成的,linux安装宝塔不会出现此错误
广告位招租( ¥3 / 天 )
点击咨询
广告位招租( ¥2 / 天 )
点击咨询
广告位招租( ¥1 / 天 )
点击咨询
最新帖子

小朋友,你爸爸是谁啊?这很单纯的,就像我们碰到别人会问:你吃过饭了吗?类似;许多人初次相识,经常会问:你是做什么的啊?你做什么,好像决定你收入的高低,你,资产的范围
1、升级框架到ThinkPHP8.0.3【要求PHP8.1+环境,推荐PHP8.1】 2、启用/禁用调试模式等小细节改进
后台点击生成站点地图 一直转圈圈没有反应,
在线客服