vuejs怎么改变css

vuejs改变css的方法:1、使用“v-bind:class”或者“v-bind:style”指令修改css样式;2、直接通过操作dom来对css样式进行更改。

vuejs怎么改变css

本文操作环境:Windows7系统、vue2.9.6版,DELL G3电脑。

vuejs怎么改变css?

Vue.js中对css的操作(修改)具体方式详解

使用v-bind:class或者v-bind:style或者直接通过操作dom来对其样式进行更改;

立即学习“前端免费学习笔记(深入)”;

1.v-bind:class || v-bind:style

其中v-bind是指令,: 后面的class 和style是参数,而class之后的指在vue的官方文档里被称为’指令预期值’(这个不必深究,反正个人觉得初学知道他叫啥名有啥用就好了)同v-bind的大多数指令(部分特殊指令如V-for除外)一样,除了可以绑定字符串类型的变量外,还支持一个单一的js表达式,也就是说v-bind:class的’指令预期值’除了字符串以外还可以是对象或者数组(‘v-bind:’中的v-bind可省略)。

1.1:对象语法:

通过对象来绑定v-bind:class=“{‘css类名’:控制是否显示(true or false)}”

 

 

1.1我的对象更改&&绑定test

  export default { name: 'mytest', data() { return { display: true } }, mounted() {}, computed: {}, methods:{} } .colordisplay { display: inline; background: red; border: 1px solid blue }

登录后复制

如果display为true,那么此时该部分的class就是 class=”mycolor colordisplay”,通过设置display的值就可以控制colordisplay的显示

如果要设置绑定多个class的话就和正常的对象键值对一样中间用逗号隔开就可以了v-bind:class=”{‘colordisplay’:display,’ispay’:pay}”

1.2:内联样式:

v-bind:style=’mycolor’

template

1.2我的样式内联更改&&绑定test

登录后复制

data

mypagestyle:{color: 'yellow',background:"blue"},

登录后复制

1.3:数组语法:

也可以通过数组来绑定v-bind:style='[mycolor1,mycolor2]’

1.3我的数组更改&&绑定test

登录后复制

 然后设置返回的数据为

myarr:{color: 'white'},myarrtest:{background:'#000',display:'inline'},

登录后复制

2.计算属性

也可以通过计算属性计算(适用于较为复杂判断)样式

2.计算属性判断

登录后复制

将计算属性的返回值作为类名,通过判断serd和slid的值来控制样式的显示与否

 data() { return {serd:true,slid:true} },  computed: { compuretu: function() { return {compuretu: this.serd && this.slid} } }

登录后复制

设置样式

.compuretu{color:white;background: red}

3.操作节点

由于vue本身是虚拟dom如果通过document来进行节点样式更改的时候有可能会出现’style’ is not definde的错误,

这个问题的解决方式就必须得对vue 的理解要求更高一层了,它可以通过在vue本身的周期mounted函数里用ref和$refs 来获取样式,来完成对其样式的更改:示例如下:

我的test

export default {name: 'mytest',data() {return {}},mounted() {console.log(this.$refs.abc.style.cssText)}}

登录后复制

说明:

1.ref被用来给元素(子组件)注册引用信息;

2.vm.$refs 一个对象,持有已注册过 ref 的所有子组件(或HTML元素);

使用:在 HTML元素 中,添加ref属性,然后在JS中通过vm.$refs.属性来获取

上述会将style的内容全部输出(color: green;)

这样的话对其进行更改就可以对相应的属性直接更改(this.$refs.abc.style.color=red)

 

 

我的单个class属性的test

 

1.1我的对象更改&&绑定test

 

1.3我的样式内联更改&&绑定test

 

1.3我的数组更改&&绑定test

 

2.计算属性判断

 

3.我的dom更改test

  export default { name: 'mytest', data() { return { serd:true, slid:true, mycss: { color: '' }, mypagestyle:{ color: 'yellow', background:"blue" }, myarr:{ color: 'white' }, myarrtest:{ background:'#000', display:'inline' }, display: true } }, mounted() {   console.log(this.$refs.abc.style.cssText) this.$refs.abc.style.color = 'red' //修改属性 this.$refs.abc.style.background = 'black' //新增属性 this.$refs.abc.style.display = 'inline' console.log(111)  console.log(this.$refs.abc.style.display)  }, computed: { compuretu: function() { return { compuretu: this.serd && this.slid } } }, methods:{ } } .mycss { color: blue } .colordisplay { display: inline; background: red; border: 1px solid blue } .mycolor { color: orange } .computed { border: 1px solid yellow } .compuretu{ color:white; background: red; }

登录后复制

当然最后这种方式对于初入门的朋友来讲可能会有点理解不透,所以我更建议大家使用前几种方式

推荐学习:《vue教程》

以上就是vuejs怎么改变css的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3019476.html

(0)
上一篇 2025年3月13日 05:28:20
下一篇 2025年2月25日 02:45:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vuejs和vue的区别是什么

    vuejs和vue没有区别,vue只是vuejs的简称;而vuejs就是一套用于构建用户界面的渐进式JavaScript框架;与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。 本文操作环境:Windows7系统、vue2.9.6…

    2025年3月13日
    200
  • vuejs怎么隐藏当前元素

    vuejs隐藏当前元素的实现方法:1、在页面挂载完后,监听全局点击事件;2、获取当前点击的元素,根据需求获取当前元素本身的属性;3、判断当前点击元素与要隐藏的元素是否相同;4、当前点击元素与要隐藏的元素不相同则隐藏。 本文操作环境:Wind…

    2025年3月13日 编程技术
    200
  • vuejs怎么实现聊天界面

    vuejs实现聊天界面的方法:1、通过执行“npm install”安装dependencies;2、通过“scrollLoader.vue”实现滚动加载数据;3、修改main.js;4、设置App.vue中的参数即可。 本文操作环境:Wi…

    2025年3月13日
    200
  • vuejs怎么把时间戳变成日期

    vuejs把时间戳变成日期的方法:1、创建date.js文件并保存到公共js文件夹中;2、在需要格式化时间戳的组件里使用“formatDate(date, ‘yyyy-MM-dd hh:mm’);”方法进行转换即可。…

    2025年3月13日
    200
  • vuejs怎么调用js文件里面的方法

    vuejs调用js文件里面的方法:1、在assets文件下新建一个js文件;2、通过“export default {…}”在需要使用方法的组件中引用即可。 本文操作环境:Windows7系统、Vue2.9.6版,DELL G3…

    2025年3月13日
    200
  • vuejs怎么实现上传文件

    vuejs实现上传文件的方法:1、创建vue页面代码;2、通过“beforeUpload(file){…}”方法实现上传之前的大小校验;3、实现上传文件的相关逻辑即可。 本文操作环境:Windows7系统、vue2.9.6版,D…

    2025年3月13日
    200
  • vuejs snippet是什么

    vuejs snippet是一种Vue2片段补全工具,该工具可以将Vue2代码片段和语法突出显示添加到Visual Studio代码中。 本文操作环境:Windows7系统、vue2.9.6版,DELL G3电脑。 vuejs snippe…

    2025年3月13日 编程技术
    200
  • vuejs常见报错有哪些

    vuejs常见报错有:1、“vue不是内部或外部命令”错误;2、安装bootstrap时报“Install fail! Error”错误;3、ESLint语法报错;4、“es2015”错误;5、使用“vue-vli4”时报错error等等。…

    2025年3月13日 编程技术
    200
  • vuejs怎么动态改变title

    动态改变title的方法:1、在“main.js”中使用“document.title=el.dataset.title”配置浏览器标题;2、在页面的标签中,添加“v-title data-title=”title值&#8221…

    2025年3月13日
    200
  • vuejs-paginate怎么用

    方法:1、使用npm命令安装bootstrap和vuejs-paginate插件;2、使用import和“Vue.component()”语句引入插件;3、在需要的组件中添加“”代码即可。 本教程操作环境:windows7系统、vue2.9…

    2025年3月13日
    200

发表回复

登录后才能评论