据说composition api解决了mixin带来的命名冲突。
这是我在网上找到的关于composition API的内容。
export default {
setup () {
const { someVar1, someMethod1 } = useCompFunction1();
const { someVar2, someMethod2 } = useCompFunction2();
return {
someVar1,
someMethod1,
someVar2,
someMethod2
}
}
}
我猜,useCompFunction1()
and useCompFunction2
就像 mixins 一样。在示例中,一切都很好。但如果useCompFunction1()
and useCompFunction2()
使用同名的变量,上面的代码仍然会遇到问题,因为我们无法使用这两个变量。所以,命名冲突当然仍然存在。那为什么说命名冲突可以用 Composition API 解决呢?
UPDATE:
我提供的示例,这是我发现应该如何编写可重用代码的代码。
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
。它的作用是调用者应该知道它的名称才能使用它。因此,仍然是组合决定了变量的命名。任何想法 ?