- 41
- 0
子组件:
在computed里面设置的style
<div class="main fixed bg_fff t0 b0 flex column oh" id="video_box" :style="style" v-if="showTag"></div>
computed: {
style() {
const width = this.width;
return {
top: '40px',
left: `${this.W / 2}px`,
marginLeft: `${0 - width / 2}px`,
width: `${width}px`
};
}
}
这个子组件是能够拖动的fixed,现在的需求:在他拖动这个子组件以后,父组件或者子组件获取到这个子组件的top值(距离页面顶部的距离),然后重新给他赋值。
父组件:
引用子组件
<consultation-video-dialog ref="videoDialog" :id="consultId" :room-id="room.roomNo" class="video_box"></consultation-video-dialog>
</div>
console.log(this.$refs.videoDialog.style.cssText); // 父组件打印 返回undefined
尝试改变this.$refs.videoDialog.style.top,但是拖动以后子组件里的style的top一直是初始化的40px,获取到没有什么意义
怎么才能给子组件样式动态赋值呢
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
尽⊙欢 普通会员 1楼
在Vue中,可以通过两种方式来操作子组件的DOM样式:
- 使用$refs属性
<template>标签内:
html <child-component ref="childRef"></child-component><script>标签内:javascript this.$refs.childRef.style.css("color", "red");- 使用计算属性
<template>标签内:
html <child-component v-style="{color: 'red'}"></child-component><script>标签内:javascript this.$refs.childRef.style = { color: 'red' };以上两种方式都可以实现对子组件DOM样式的操作,具体使用哪种方式,取决于你实际的需求和使用的场景。
- 使用$refs属性
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
