uniapp全局变量四种实现方式,uni-app全局变量_1

  uniapp全局变量四种实现方式,uni-app全局变量

  Uni通过以下方式定义全局变量:1 .使用代码为[return obj instance of array]的通用模块;2.将一些常用的常量或方法直接扩展到【Vue.prototype】。

  UNI-APP开发(仿饿)开发课程:进入学习

  本教程运行环境:windows7系统,Uni-App版本2.5.1,Dell G3电脑。这个方法适用于所有品牌的电脑。

  推荐(免费):uni-app开发教程

  uniapp定义全局变量的方法:

  1、公用模块

  定义一个专门的模块来组织和管理这些全局变量,并在所需的页面中介绍它们。

  注意,这种方法只支持多个vue页面或多个n vue页面之间的共享,不支持vue和nvue之间的共享。

  例子如下:

  在uni-app项目的根目录下创建一个公共目录,然后在公共目录下新建一个helper.js来定义公共方法。

  const websiteUrl= http://uni app . d cloud . io ;

  const now=Date.now function () {

  返回新日期()。getTime();

  };

  const is array=array . is array function(obj){

  返回数组的对象实例;

  };

  导出默认值{

  网站Url,

  现在,

  伊萨雷

  }接下来,引用pages/index/index.vue中的模块。

  脚本

  从导入助手././common/helper . js ;

  导出默认值{

  data() {

  return { };

  },

  onLoad(){

  console . log( now: helper . now());

  },

  方法:{

  }

  }

  /script维护方便,缺点是每次都需要引入。

  2、挂载 Vue.prototype

  一些常用的常量或方法直接扩展到Vue.prototype,每个Vue对象都会被“继承”。

  注意这个方法只支持vue页面。

  例子如下:

  在main.js中挂载属性/方法

  vue . prototype . website URL= http://uni app . d cloud . io ;

  vue . prototype . now=date . now function(){

  返回新日期()。getTime();

  };

  vue . prototype . is array=array . is array function(obj){

  返回数组的对象实例;

  };然后调入pages/index/index.vue。

  脚本

  导出默认值{

  data() {

  return { };

  },

  onLoad(){

  console . log( now: this . now());

  },

  方法:{

  }

  }

  /script这样,只需要在main.js中定义就可以在每个页面中直接调用。

  技巧

  每页中不要有重复的属性或方法名称。

  建议装载在Vue.prototype上的属性或方法可以加上统一的前缀。比如$url和global_url,在阅读代码时很容易与当前页面的内容区分开来。

  3、globalData

  小程序里有一个globalData的概念,可以在app上声明全局变量。Vue之前没有这个概念,但是uni-app引入了globalData的概念,并且在包括H5和app在内的平台上实现。

  可以在App.vue中定义globalData,也可以使用API来读写这个值。

  GlobalData支持vue和n vue之间的数据共享。

  Global是使用全局变量的一种相对简单的方法。

  定义:App.vue

  脚本

  导出默认值{

  全局数据:{

  文本:“文本”

  },

  onLaunch: function() {

  console.log(“应用程序启动”)

  },

  onShow: function() {

  console.log(“应用程序显示”)

  },

  onHide: function() {

  console.log(“应用程序隐藏”)

  }

  }

  /脚本

  风格

  /*每个页面的通用CSS */

  /风格

  在js中操作globalData的方法如下:

  赋值:getApp().globalData.text=test 。

  值:console.log (getapp()。globaldata.text)//测试

  如果需要将globalData的数据绑定到页面,可以在页面的onshow声明循环中重新分配变量。从HBuilderX 2.0.3开始,nvue页面处于uni-app编译模式,也支持onshow。

  4、Vuex

  Vuex是专门为Vue.js应用开发的状态管理模式。它采用集中存储来管理应用程序所有组件的状态,并确保状态以可预测的方式随相应的规则变化。

  这里以登录后同步更新用户信息为例,简单说明一下Vuex的用法。关于Vuex更详细的内容,建议去其官网Vuex了解。

  示例:

  在uni-app项目的根目录下新建一个store目录,并创建index.js来定义store目录中的状态值。

  const store=new Vuex。商店({

  状态:{

  登录:假,

  令牌: ,

  avatarUrl: ,

  用户名:“”

  },

  突变:{

  登录(州、提供商){

  console.log(状态)

  console.log(提供者)

  state.login=true

  state . token=provider . token;

  state .用户名=provider.userName

  state . avatar URL=provider . avatar URL;

  },

  注销(状态){

  state.login=false

  state . token=“”;

  state . username=“”;

  state . avatar URL=“”;

  }

  }

  })然后,需要在main.js中挂载Vuex

  从导入存储。/商店

  Vue.prototype.$store=store最后在Pages/Index/Index.vue中使用。

  脚本

  导入{

  地图状态,

  地图突变

  }来自‘vuex’;

  导出默认值{

  计算值:{

  .mapState([avatarUrl , login , userName])

  },

  方法:{

  .地图突变([logout])

  }

  }

  /脚本相关免费学习推荐:编程视频

  以上是uniapp如何全局定义变量的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: