您好 老师 props.chartData ,父组件是axios获取的,传给子组件
来源:5-9 ValidateForm 编码第二部分 - 尝试父子通讯
班大人
2020-11-07
问题: props.chartData 拿不到 父组件axios 获取的值
new Aliplayer 这个是初始化
但我不知道怎么拿到动态的props 赋值给 new Aliplayer 里的变量 请老师指点
<template>
<div>
<div class="prism-player" id="J_prismPlayer"></div>
</div>
</template>
<script>
import { ref, watch, reactive, onMounted, defineComponent } from "vue";
export default defineComponent({
name: "AliyunPlayer",
props: {
chartData: Array
},
setup(props, context) {
onMounted(() => {
let player = new Aliplayer({
id: "J_prismPlayer", // 容器id
source: 'props.chartData[1]', //视频地址
cover: 'props.chartData[0]', //播放器封面图
autoplay: false, // 是否自动播放
width: "100%", // 播放器宽度
height: "4rem", // 播放器高度
playsinline: true,
seekable: true
});
watch(
() => props.chartData,
(oldVlaue, newValue) => {
console.log(oldVlaue, "改变");
}
);
});
const filterNode = (value, data) => {
if (!value) return true;
return data.label.indexOf(value) !== -1;
};
const handleNodeClick = (data, node, obj) => {
if (data.id) {
context.treeId = data.id;
context.treeDataObj = data;
context.nodeDataTree = node;
console.log(data);
}
};
return {
filterNode,
handleNodeClick
};
}
});
</script>
写回答
1回答
-
同学你好 你这个 props 是父组件中异步获取的吗? 可以在父组件已经有值的时候在渲染这个组件 使用 v-if 做一个判断
<div v-if="asyncData"><player :data="asyncData"/></div>
022020-11-09
相似问题
父路由组件传参的问题
回答 1