• 3.6 样式绑定


    目录

    一、class样式处理

    二、样式绑定相关语法细节:

    三、style样式处理


    一、class样式处理

         对象语法 (类名: 是否显示)
        


        
        数组语法
        

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>title>
    6. <style type="text/css">
    7. .active {
    8. border: 1px solid red;
    9. width: 100px;
    10. height: 100px;
    11. }
    12. .error {
    13. background-color: orange;
    14. }
    15. style>
    16. head>
    17. <body>
    18. <div id="app">
    19. <div v-bind:class="{active: isActive,error: isError}">
    20. 测试样式1:对象语法
    21. div>
    22. <button v-on:click="handle">切换1button>
    23. <div v-bind:class="[activeClass, errorClass]">
    24. 测试样式2:数组语法
    25. div>
    26. <button v-on:click="handle2">切换2button>
    27. div>
    28. body>
    29. <script type="text/javascript" src="../js/vue.js">script>
    30. <script type="text/javascript" >
    31. /*
    32. 1.class样式处理
    33. 对象语法 (类名: 是否显示)
    34. 数组语法
    35. */
    36. var vm = new Vue({
    37. el:'#app',
    38. data:{
    39. msg: "hello",
    40. activeClass: 'active',
    41. errorClass: 'error',
    42. isActive: true,
    43. isError: true,
    44. },
    45. methods: {
    46. handle: function () {
    47. //控制isActive的值 在true 和 false 之间进行切换
    48. this.isActive = ! this.isActive;
    49. this.isError = ! this.isError;
    50. },
    51. handle2: function () {
    52. //控制activeClass 的值
    53. var result = this.errorClass;
    54. result == ''? this.errorClass = 'error': this.errorClass = '';
    55. }
    56. }
    57. });
    58. script>
    59. html>

    二、样式绑定相关语法细节:


        1. 对象绑定和数组绑定可以结合使用
        


        
        2. class绑定的值可以简化操作
         数组: arrClass: ['active', 'error']
         对象: objClass: { active: true,  error: true }
                         
        3. 默认的class如何处理?
         默认的class会保留

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>title>
    6. <style type="text/css">
    7. .active {
    8. border: 1px solid red;
    9. width: 100px;
    10. height: 100px;
    11. }
    12. .error {
    13. background-color: orange;
    14. }
    15. .test{
    16. color: blue;
    17. }
    18. .base{
    19. font-size: 28px;
    20. }
    21. style>
    22. head>
    23. <body>
    24. <div id="app">
    25. <div v-bind:class="[activeClass, errorClass, {test: isTest}]">
    26. 测试样式1
    27. div>
    28. <button v-on:click="handle">切换button>
    29. <div v-bind:class="arrClass">
    30. 测试样式2-1
    31. div>
    32. <div v-bind:class="objClass">
    33. 测试样式2-2
    34. div>
    35. <div class="base" v-bind:class="objClass">
    36. 测试样式3
    37. div>
    38. div>
    39. body>
    40. <script type="text/javascript" src="../js/vue.js">script>
    41. <script type="text/javascript" >
    42. /*
    43. 样式绑定相关语法细节:
    44. 1. 对象绑定和数组绑定可以结合使用
    45. 2. class绑定的值可以简化操作
    46. 数组: arrClass: ['active', 'error']
    47. 对象: objClass: { active: true, error: true }
    48. 3. 默认的class如何处理?
    49. 默认的class会保留
    50. */
    51. var vm = new Vue({
    52. el:'#app',
    53. data:{
    54. msg: "hello",
    55. activeClass: 'active',
    56. errorClass: 'error',
    57. isTest: true,
    58. arrClass: ['active', 'error'],
    59. objClass: {
    60. active: true,
    61. error: true,
    62. }
    63. },
    64. methods: {
    65. handle: function (event) {
    66. this.isTest = !this.isTest;
    67. this.objClass.error = ! this.objClass.error;
    68. }
    69. }
    70. });
    71. script>
    72. html>

    三、style样式处理


        对象语法 (类名: 是否显示)
        ①


        ②
     
        objStyle: {  border: '1px solid green',  width: '200px',  height: '100px'  }
                            
        数组语法
        

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>title>
    6. head>
    7. <body>
    8. <div id="app">
    9. <div v-bind:style='{border:borderStyle, width: widthStyle, height: heightStyle}'>
    10. 对象语法1
    11. div>
    12. <div v-bind:style='objStyle'>
    13. 对象语法2
    14. div>
    15. <div v-bind:style='[objStyle, overrideStyles]'>
    16. 数组语法1
    17. div>
    18. <button v-on:click='handle'>切换button>
    19. div>
    20. body>
    21. <script type="text/javascript" src="../js/vue.js">script>
    22. <script type="text/javascript" >
    23. /*
    24. 1.style样式处理
    25. 对象语法 (类名: 是否显示)
    26. objStyle: { border: '1px solid green', width: '200px', height: '100px' }
    27. 数组语法
    28. */
    29. var vm = new Vue({
    30. el:'#app',
    31. data:{
    32. borderStyle: '1px solid blue',
    33. widthStyle: '100px',
    34. heightStyle: '200px',
    35. objStyle: {
    36. border: '1px solid green',
    37. width: '200px',
    38. height: '100px'
    39. },
    40. overrideStyles: {
    41. border: '5px solid orange',
    42. backgroundColor: 'blue'
    43. }
    44. },
    45. methods: {
    46. handle: function () {
    47. //控制高度
    48. this.heightStyle = '100px';
    49. }
    50. }
    51. });
    52. script>
    53. html>

  • 相关阅读:
    量子计算(十):量子计算原理
    【Linux】yum及vim
    Gateway服务网关
    MySql分区简单说明
    基于SpringBoot的的师生健康信息管理系统
    【开发篇】七、RedisTemplate与StringRedisTemplate + Jedis与Lettcus
    linux中各种最新网卡2.5G网卡驱动,不同型号的网卡需要不同的驱动,整合各种网卡驱动,包括有线网卡、无线网卡、Wi-Fi热点
    信息学奥赛一本通-编程启蒙3103:练18.3 组别判断
    【Rust日报】2023-09-09 异步 Rust 很糟糕?
    事务的隔离级别
  • 原文地址:https://blog.csdn.net/PengK_aha/article/details/128063414