Vue.js 通过 httpVueLoader 传递数据

标签 vue.js vuejs2 vue-component

我有一个 Vue 实例。

var myApp = new Vue({
    el: '#my-App',
    data: {
        user: sessionStorage.getItem('user')
    },
    components: {
        'header-component': httpVueLoader('./components/header-component.vue'),
        'footer-component': httpVueLoader('./components/footer-component.vue')
    }
});

和单个文件组件header-component

<template>
    <li v-if="user !== ''" class="nav-item">
        <a class="nav-link" v-on:click="openProfilePage" href="#">{{user}}</a>
    </li>
</template>

<script>
    module.exports = {
        data: function () {
            return {}
        },
        props: ['user'],
        methods:
            {
                openProfilePage: function () {
                    if (userName !== '') {
                        myApp.page = 'profile';
                        sessionStorage.setItem('page', 'profile');
                        page = 'profile';
                    }
                    else {
                        myApp.page = 'login';
                        sessionStorage.setItem('page', 'login');
                        page = 'login';
                    }
                }
            }
    }
</script>

我不想在我的单文件组件中定义一个新的 data.user,我想使用 vue 实例的 data.user。我怎样才能做到这一点?我如何传递这些数据?

最佳答案

像通常将值从父级传递给子级一样传递它;使用 Prop 。

这是一个例子。

index.html

<body>
  <div id="app">
    <test :user="user"></test>
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        user: "This is a test string"
      },
      components:{
        test: httpVueLoader("/Test.vue")
      }
    })
  </script>
</body>

测试.vue

<template>
  <div>{{user}}
</template>

<script>
module.exports = {
  props:["user"]
}
</script>

这会将 Vue 中定义的用户传递给测试组件,结果输出将是“这是一个测试字符串”。

关于Vue.js 通过 httpVueLoader 传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46179935/

相关文章:

javascript - VueJs 超出最大调用堆栈大小

javascript - 如何在搜索时添加加载图标? (Vue.js 2)

javascript - Vue - 使用 axios 请求填充 Prop 的问题

javascript - 路由器模板中的 Vue 计算属性

vue.js - 将日期对象作为 Prop 传递的默认值是什么?

javascript - Vue.js:更改时调用函数

vue.js - Vue Chart JS 和选项 react 性

vuejs2 - 如果容器最初被隐藏,如何在 Vue 2 Leaflet 中调整 map 大小

javascript - 通过字符串路径设置嵌套对象属性

javascript - 删除一行后刷新 Bootstrap-Vue 表