【发布时间】:2021-02-22 15:19:42
【问题描述】:
据说composition api解决了mixins带来的命名冲突。
这是我在互联网上找到的关于组合 API 的内容。
export default {
setup () {
const { someVar1, someMethod1 } = useCompFunction1();
const { someVar2, someMethod2 } = useCompFunction2();
return {
someVar1,
someMethod1,
someVar2,
someMethod2
}
}
}
我猜,useCompFunction1() 和 useCompFunction2 就像 mixins。在示例中,一切都很好。但是如果useCompFunction1() 和useCompFunction2() 使用同名的变量,我们在上面的代码中仍然会遇到问题,因为我们不能同时使用这两个变量。因此,命名冲突当然仍然存在。那为什么说命名冲突是用 Composition API 解决的呢?
更新:
我提供的例子,用它,这是我发现应该如何编写可重用代码的代码。
import { ref, computed } from "vue";
export default {
setup() {
const count = ref(0);
const double = computed(() => count.value * 2)
function increment() {
count.value++;
}
return {
count,
double,
increment
}
}
}
如您所见,它返回带有count、double、increment 的变量。它的方式是调用者应该知道它的名称才能使用它。因此,仍然是组合决定了变量的名称。有什么想法吗?
【问题讨论】:
标签: vue.js vuejs2 vue-component vuex