搜索
简帛阁>技术文章>vue使用$refs动态修改style,设置样式

vue使用$refs动态修改style,设置样式

在h5中,可以直接使用

this.$refs.indexChart.$el.style.display='none'

但是我打包运行成微信小程序,就会报错请添加<a href='http://jianboge.com/dtag/图片'>图片</a>描述
TypeError: Cannot read property ‘$el’ of undefined

目前解决办法,暂时没找到
这几个是我百度尝试使用$refs改变样式,都没有生效,所以h5推荐使用第一种!!!!简单粗暴!!!!!

// that.$refs.indexChart.setAttribute("class","vi")
//that.$refs.indexChart.style.display = "inline-block"
// that.$refs.indexChart.style = 'display: inline-block'

最后微信小程序,动态改变style,我选择了用三元表达式,当时还有别的方法。我暂时是用了这种

	<video 
		:class="[my? 'errorClass':'activeClass']" 
		src="https://digitalmanual.swellfun.com/miniprg_res/audio/diancang.mp4"
		ref="indexChart"
		>
	</video>
		

<script>
	export default{<!-- -->
		data(){<!-- -->
			return{<!-- -->
				my:true
			}
		},
		methods:{<!-- -->
			
		},
		onReady:function(){<!-- -->
			
			var that=this;
			setTimeout(function(){<!-- -->
				
					// that.$refs.indexChart.setAttribute("class","vi")
					//that.$refs.indexChart.style.display = "inline-block"
					// that.$refs.indexChart.style = 'display: inline-block'
						// that.$refs.indexChart.$el.style.display="inline-block"
				that.my=false
				console.log("11")
			},6000)
		},
	}
	
</script>

<style>
	.video{<!-- -->
		width: 100%;
		height: 216.35vw;
	}
	.errorClass{<!-- -->
		display: none;
		
	}
	.activeClass{<!-- -->
		display: inline-block;
		float: right;
		top: -800rpx;
	}
</style>

记录一下,免得忘记了。。。

在h5中,可以直接使用this$refsindexChart$elstyledisplay'none'但是我打包运行成微信小程序,就会报错TypeError:Cannotreadproperty‘$e
凡是有的style属性名都要变成驼峰式,比如fontsize要变成fontSize除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:00a2ff而不是backgroun
注意:凡是有的style属性名都要变成驼峰式,比如fontsize要变成fontSize除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:00a2ff而不是backgr
本文实例讲述了javascript动态设置样式style的方法。分享给大家供大家参考。具体分析如下:动态修改style1易错:修改元素的样式不是设置class属性,而是className属性2易错:
目录style样式如何动态绑定动态设置style样式style样式如何动态绑定方法一:(1)html中:<divclassvideoMarefvideoMastylewidth:100%;he
一、局部改变样式分为改变直接样式,改变className和改变cssText三种。需要注意的是:注意大小写:javascript对大小写十分敏感,className不能够把“N”写成“n”,cssTe
法1:项目中由于卡片背景颜色是变化的,为了美观要使卡片上文字颜色也会变;需要通过接口获取颜色值本质上和普通添加style方式是一样的<divclassnumber:style{color:co
<spanvbind:style{'display':configisHaveSearch?'block':'none'}>动态绑定样式</span>实现元素根据数据状态来显示
目录vue动态设置class、stylevue动态添加样式:style和:class:style如下:class如下vue动态设置class、style//动态class对象<div:class
HTML:style的用法<eldialogcustomclasscreatUserwrap:style{display:formShow?'block':'none'}center>&l