目录版本 环境搭建新建vue 增加ArcGIS JavaScript 包引用 拷贝资源信息页面测试版本 Vue 2 ArcGIS JavaScript 4.22 注意 ArcGIS JavaScrip
顺晟科技
2021-06-19 08:10:48
205
我有个obj.js
文件
顺晟科技:
};
import { reactive} from ‘vue’export default function class () {const obj = reactive([])
不用谢,二楼的回答正是官方推荐的方案。我看你提到类,所以才回答了用类实现的方案,不然我的回答也会与二楼类似。
请问为什么执行了obj.getData
之后,视图里渲染的还是[]而不是[‘init’]?
import Obj from ‘@/utility/obj.js’
在index.vue
里import
这个obj.js
文件:
非常感谢,我用二楼的方案实现了,不过你这个也提供了一种ts实现的方案
export default {setup() {const { obj } = Obj()
所以我才建议你在构造函数中就进行 reactive()
,这样在类中和外部操作的目标对象是一致的,都是经 reactive()
代理后的对象。
我上面的答案也是基于类的方案,每次调用构造函数 state 都是新的,正适合实现多实例。使用起来很简单:
创建派生类(举例):
return {obj}}
至于你的代码没有响应性,是因为类中的这句 this.data.push('init');
操作的是 reactive()
前的对象。
const getDate = () => {obj.push('int)}
用state这个方案我想到过,但因为state属于全局的,不太方便实现多实例,所以就想自定义类的实例来做
你可以创建一个通用的基类:将所有属性存放在 this.state 中以方便统一管理,接着用 reactive 将 this.state 代理为可响应的状态;以此为蓝本。
09
2022-11
09
2022-11
09
2022-11
19
2022-10
19
2022-10
19
2022-10