• 10.Vue2-样式绑定的用法


    题记

            vue2样式绑定的用法

    class属性绑定

    vi-bind:class
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. <style>
    8. .active {
    9. width: 100px;
    10. height: 100px;
    11. background: blue;
    12. }
    13. style>
    14. head>
    15. <body>
    16. <div id="app">
    17. <div v-bind:class="{ 'active': isActive }">div>
    18. div>
    19. <script>
    20. new Vue({
    21. el: '#app',
    22. data: {
    23. isActive: true
    24. }
    25. })
    26. script>
    27. body>
    28. html>

            等于:

     在对象中传入属性
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. <style>
    8. .active {
    9. width: 100px;
    10. height: 100px;
    11. background: blue;
    12. }
    13. .text-danger {
    14. background: red;
    15. }
    16. style>
    17. head>
    18. <body>
    19. <div id="app">
    20. <div class="static"
    21. v-bind:class="{ 'active': isActive, 'text-danger': hasError }">
    22. div>
    23. div>
    24. <script>
    25. new Vue({
    26. el: '#app',
    27. data: {
    28. isActive: true,
    29. hasError: true
    30. }
    31. })
    32. script>
    33. body>
    34. html>

            等于:

    绑定数据里的对象 
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. <style>
    8. .active {
    9. width: 100px;
    10. height: 100px;
    11. background: blue;
    12. }
    13. .text-danger {
    14. background: red;
    15. }
    16. style>
    17. head>
    18. <body>
    19. <div id="app">
    20. <div v-bind:class="classObject">div>
    21. div>
    22. <script>
    23. new Vue({
    24. el: '#app',
    25. data: {
    26. classObject: {
    27. active: true,
    28. 'text-danger': true
    29. }
    30. }
    31. })
    32. script>
    33. body>
    34. html>
    绑定返回对象的计算属性
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. <style>
    8. .base {
    9. width: 100px;
    10. height: 100px;
    11. }
    12. .active {
    13. background: blue;
    14. }
    15. .text-danger {
    16. background: red;
    17. }
    18. style>
    19. head>
    20. <body>
    21. <div id="app">
    22. <div v-bind:class="classObject">div>
    23. div>
    24. <script>
    25. new Vue({
    26. el: '#app',
    27. data: {
    28. isActive: true,
    29. error: {
    30. value: true,
    31. type: 'fatal'
    32. }
    33. },
    34. computed: {
    35. classObject: function () {
    36. return {
    37. base: true,
    38. active: this.isActive && !this.error.value,
    39. 'text-danger': this.error.value && this.error.type === 'fatal',
    40. }
    41. }
    42. }
    43. })
    44. script>
    45. body>
    46. html>
    把数组传给v-bind:class
    1. DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. <style>
    8. .active {
    9. width: 100px;
    10. height: 100px;
    11. background: blue;
    12. }
    13. .text-danger {
    14. background: red;
    15. }
    16. style>
    17. head>
    18. <body>
    19. <div id="app">
    20. <div v-bind:class="[activeClass, errorClass]">div>
    21. div>
    22. <script>
    23. new Vue({
    24. el: '#app',
    25. data: {
    26. activeClass: 'active',
    27. errorClass: 'text-danger'
    28. }
    29. })
    30. script>
    31. body>
    32. html>

             等于:

    三元表达式 
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. <style>
    8. .text-danger {
    9. width: 100px;
    10. height: 100px;
    11. background: red;
    12. }
    13. .active {
    14. width: 100px;
    15. height: 100px;
    16. background: blue;
    17. }
    18. style>
    19. head>
    20. <body>
    21. <div id="app">
    22. <div v-bind:class="[errorClass ,isActive ? activeClass : '']">div>
    23. div>
    24. <script>
    25. new Vue({
    26. el: '#app',
    27. data: {
    28. isActive: true,
    29. activeClass: 'active',
    30. errorClass: 'text-danger'
    31. }
    32. })
    33. script>
    34. body>
    35. html>

     内联样式

     v-bind:style
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. head>
    8. <body>
    9. <div id="app">
    10. <div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }">ngxediv>
    11. div>
    12. <script>
    13. new Vue({
    14. el: '#app',
    15. data: {
    16. activeColor: 'blue',
    17. fontSize: 30
    18. }
    19. })
    20. script>
    21. body>
    22. html>

             等于:

    color: blue; font-size: 30px;">ngxe

    绑定样式对象 
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. head>
    8. <body>
    9. <div id="app">
    10. <div v-bind:style="styleObject">ngxediv>
    11. div>
    12. <script>
    13. new Vue({
    14. el: '#app',
    15. data: {
    16. styleObject: {
    17. color: 'blue',
    18. fontSize: '30px'
    19. }
    20. }
    21. })
    22. script>
    23. body>
    24. html>
     使用数组绑定样式
    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>实例title>
    6. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
    7. head>
    8. <body>
    9. <div id="app">
    10. <div v-bind:style="[baseStyles, overridingStyles]">ngxediv>
    11. div>
    12. <script>
    13. new Vue({
    14. el: '#app',
    15. data: {
    16. baseStyles: {
    17. color: 'blue',
    18. fontSize: '30px'
    19. },
    20. overridingStyles: {
    21. 'font-weight': 'bold'
    22. }
    23. }
    24. })
    25. script>
    26. body>
    27. html>

     后记

             觉得有用可以点赞或收藏! 

  • 相关阅读:
    M1芯片使用android-emulator-m1-preview模拟器提示INSTALL_FAILED_INSUFFICIENT_STORAGE 解决办法
    排序算法之-快速
    Linux学习笔记(2)—文件基本属性
    Java 中的数据类型有哪些?
    辅助解决小白遇到的电脑各种问题
    C#实现访问OPC UA服务器
    长期戴耳机的危害有哪些?有哪些耳机不伤听力吗?
    保姆级使用PyTorch训练与评估自己的EfficientFormer网络教程
    日报系统:优化能源行业管理与决策的利器
    微信小程序页面间传值方法
  • 原文地址:https://blog.csdn.net/m0_70819559/article/details/134081606