vue.js - Vue Props 不适用于子组件

标签 vue.js vuejs2 vue-component

我有一个根元素,它已经登录了用户数据,在用户配置文件组件上,我将登录的用户数据作为 props 传递。

但是当我尝试在子组件中调用 User 对象属性时,它会抛出未定义的错误。我在子组件中看不到任何值(value)。

应用程序.js

Vue.component("usersmanagment", require("./components/usersmanagment"));

const app = new Vue({
    el: "#app",
    components: {
        'v-select': vSelect
    },
    data() {
        return {
            AuthorizedUser: {
                Email : "",
                FirstName : "",
                LastName : "",
                CreatedUtcDateTime : "",
                IsActive : ""
            }           
        };
    },
    mounted() {
        let vm = this;      
        vm.getAuthorisedUserProfile();
    },
    methods: {
        getAuthorisedUserProfile() {
            let vm = this;          
            // just return auth user data
    }

});

我正在传递 Prop 的子组件

module.exports = {
    props : ["AuthorizedUser"],

};

在我的 View 文件中我是 Asp.Net MVC

<usersmanagment inline-template>
        <input type="text" class="form-control" v-model="AuthorizedUser.FirstName">
</usersmanagment> 

我可以在 vue chrome 开发工具中看到授权用户已更新,但其值未在子组件上更新。

最佳答案

你没有在这里包含它,但我的猜测是你正在使用 camelCase 传递 Prop ,但你需要使用 kebab-case 传递它(参见:camelCase vs kebab-case)。所以请确保您正在做:

<child-component :authorized-user="AuthorizedUser"></child-component>

关于vue.js - Vue Props 不适用于子组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44408868/

相关文章:

vue.js - 如何使用 vue-router 将数据从一个 View 传递到另一个 View

javascript - 如何从vue js中的html属性调用方法

javascript - WebSocket 在 Vue/Node 应用程序中停止工作

javascript - 解析 vue 组件中的输入属性

javascript - vue 中的 JsonEditor 组件未显示

javascript - 如何修复 Sass 加载器的 ValidationError?

javascript - 如何在 Vue 中有条件地设置选定的选项

vue.js - 从外部关闭 b-modal BootrstrapVue

javascript - 防止持久状态锁定 VueX 中的应用程序

vue.js - 在 VueJS 中如何确定模板中元素的元素宽度