背景
开发者在开发某个功能时,经常会遇到某个对象,某个接口在代码多个地方有被使用到,如果每个地方都写一份,一旦其中一个值发生变化了,那么调用的地方都需要修改。而且很容易遗忘某个地方,导致产品存在bug。如何在快应用中定义一个全局对象呢?只需要修改这个全局对象,其他地方都可以同步修改呢?
解决方案
可在manifest文件的data中定义,然后在各个ux页面通过this.$app.$data.xxx形式去调用。 您也可以在app.ux中定义全局对象,并在各个ux页面通过this.$app.$def.xxx形式去调用。下面我们分别介绍这2个方案的实现。
方案1:在manifest.json中配置
相关代码如下:
manifest.json文件配置
"config": {
"data": {
"globalData": "GlobalData"
}
},
hello.ux 页面
<template>
<!-- Only one root node is allowed in template. -->
<div class="container">
<input type="button" value="切换" onclick="switchValue" />
<text>这是一个全局变量{
{value}}</text>
</div>
</template>
<style>
.container