代码之家  ›  专栏  ›  技术社区  ›  eozzy

从安装程序返回的值不是反应性的

  •  -1
  • eozzy  · 技术社区  · 4 年前
    import { onMounted, onUpdated, readonly } from "vue";
    export default {
      name: "HelloWorld",
      props: {
        msg: String,
      },
      setup(props) {
        let myMsg = null;
        onMounted(() => (myMsg = props.msg));
        onUpdated(() => (myMsg = "bar"));
        console.log(myMsg); // null 
    
        return { myMsg };
      },
    };
    

    https://codesandbox.io/s/empty-river-d49em?file=/src/components/HelloWorld.vue

    不仅如此 myMsg 不是反应性的,但保持不变。我做错了什么?

    1 回复  |  直到 4 年前
        1
  •  1
  •   akuiper    4 年前

    设置中的变量需要 ref 要反应。您可以查看有关vue3 composition api的更多信息 here :

    setup(props) {
      let myMsg = ref(null);
      onMounted(() => (myMsg.value = props.msg));
      onUpdated(() => (myMsg.value = "bar"));
      console.log(myMsg.value); // null 
    
      return { myMsg };
    },
    

    Code sandbox