gpt4 book ai didi

vue.js - vue.js 2 : Access props in mounted function

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:29 25 4
gpt4 key购买 nike

我在子组件中有数据属性。在已安装函数的子组件内部,我需要从 Prop 中获取特定值并设置选择下拉值。我正在使用工作正常的 vue-multiselect 插件。这是代码。

module.exports = {
props: ["Subscriptions"]
mounted: function () {
let vm = this;


Vue.nextTick(function () {
// I want to access props here but it return 0 length array
console.log(vm.$parent.Subscriptions);
});
},
beforeUpdate() {
let vm = this;
console.log(vm.$parent.Subscriptions);
},
// updated() {
// let vm = this;
// console.log(vm.$parent.Subscriptions);
// }
};

现在我只有在 beforeUpdate 和 updated 函数中获得订阅,但每次发生不需要的值变化时都会调用它。我只需要第一次更改它即可设置下拉初始值。

最佳答案

一个常见的错误可能是,父组件将一个变量作为 prop 传递,该变量在子组件被渲染时为 null。因此,当您在安装在子组件中访问它时。您将其视为空值。稍后,在父组件中,传递的变量 (prop) 将从异步操作中分配值。为了避免可能的陷阱,最好使用 v-if。

示例:

<ChildComponent :data="testData" />

可以用下面代替上面

<ChildComponent v-if="testData" :data="testData" />

这样只有当 testData 可用时子组件才会被渲染。但是如果在子组件中你有更多的东西要显示直到数据更好地使用另一个组件。添加观察者也可以解决问题,但不是很好。

因为您在更新的钩子(Hook)中获得值,所以可能是这种情况。

关于vue.js - vue.js 2 : Access props in mounted function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45273525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com