【问题标题】:How to return value into the script of another Vue file? Or how to sent returned value into another Vue file?如何将值返回到另一个 Vue 文件的脚本中?或者如何将返回值发送到另一个 Vue 文件中?
【发布时间】:2020-04-11 17:03:15
【问题描述】:

在主页中,我得到了我想要的值,它们已经是“时间”和“品种键”。现在,我如何在另一个 Vue 文件中使用它们,就像我接下来提供的示例一样

   data() {
        return {
          time:[]
        }
    },

    computed: {
       breedKey() {
         return this.breeds[this.currentBreed].key;
        }
      }

这是子页面<script>,我想将我的数据(breedKey,时间)传递到,我想使用这样的参数。不太确定是不是逻辑太简单了,有没有更好的办法?

async created() {
    try {
      this.promise = axios.get(
        "https://my-api/"
      );

【问题讨论】:

    标签: javascript vue.js components parent-child return-value


    【解决方案1】:

    你可以使用global variable,即使这不是你的主要目的。

    你用Vue.prototype.$myvar在某处定义它

    你可以在你的组件中使用它,比如this.$myvar

    不过你应该看看Vuex 和商店的概念。

    【讨论】:

      【解决方案2】:

      您可以使用props 将它们从父母传递给孩子。

      如果您必须导航,您可以使用 vue-router 并将它们作为路径的一部分传递,然后在第二页中使用 retrieve 它们

      如果您想要一种更加解耦的通信方式,您可以使用EventBus 或一直使用Vuex

      很可能您只需要将它们作为道具传递,因此声明一个已声明道具的孩子

      export default {
       props:['breedKey', 'time']
      }
      

      然后传递它们

      <ChildComp :breedKey="breedKey" />
      

      【讨论】:

      • 非常感谢,所以我已经在子组件中使用v-bind发送数据和prop接收数据,但是当'breedKey','time'的值在父组件中发生变化时, prop 在子组件中没有更新,有什么建议吗?
      • 你如何更新它们。他们应该更新。您是否将键动态添加到对象?
      • 如果我只在子页面的
      • 根据我的测试,模板部分中的 {{breedKey }} 发生了变化,但在我执行 data() 的脚本部分中返回主题:this.breedKey 主题根本没有更新
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多