• vue模板语法上集


    目录

    一、插值

     

    二、指令

    三 、过滤器

    四、计算属性&监听属性


    一、插值

     

    文本: {{msg}}

    html: 使用v-html指令用于输出html代码          

    属性:HTML属性中的值应使用v-bind指令

    表达式:

     Vue提供了完全的JavaScript表达式支持

              {{str.substr(0,6).toUpperCase()}}

              {{ number + 1 }}

              {{ ok ? 'YES' : 'NO' }}

             

  • 我的Id是js动态生成的
  •  class绑定

              使用方式:v-bind:class="expression"

              expression的类型:字符串、数组、对象

     style绑定

             v-bind:style="expression"

             expression的类型:字符串、数组、对象

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
    6. <title>Title</title>
    7. <style>
    8. .a{
    9. color:yellow;
    10. }
    11. </style>
    12. </head>
    13. <body>
    14. <div id="app">
    15. <p>文本</p>
    16. {{msg}}
    17. <p>html页面转义</p>
    18. <div v-html="htmlstr"></div>
    19. <p> v-bind 属性绑定</p>
    20. <input value="值">
    21. <input v-bind:value="valuestr" />
    22. <input :value="valuestr" />
    23. <p>vue中可以对变量进行二次处理</p>
    24. {{str.substring(0,4)}}<br>
    25. {{num + 4}}<br>
    26. {{ok ? '1' : '0'}}<br>
    27. <span :id="idstr+'1'">书籍信息</span>
    28. <p>calss绑定</p>
    29. <span :class="classStr">文本类容</span>
    30. <p>calss绑定</p>
    31. <span :class="styleStr">文本类容</span>
    32. </div>
    33. </body>
    34. <script type="text/javascript">
    35. new Vue({
    36. el:'#app',
    37. data(){
    38. return{
    39. msg:'hello vue!!!',
    40. htmlstr:'文本内容',
    41. valuestr:'vue值',
    42. str:'hello world',
    43. num:6,
    44. ok:false,
    45. idstr:'book_',
    46. classStr:'a',
    47. styleStr:'color:blue;'
    48. }
    49. }
    50. })
    51. </script>
    52. </html>

    测试:

    二、指令

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
    6. <title>Title</title>
    7. </head>
    8. <body>
    9. <div id="app">
    10. <p>v-if</p>
    11. <!--输入分数,60分一下不及格、60-70分为合格、80-90为优秀、90分以上为优+ -->
    12. 请输入分数:<input v-model="score"/>
    13. 对应的结果:
    14. <span v-if="score<60">不及格</span>
    15. <span v-else-if="score<70">合格</span>
    16. <span v-else-if="score<80"></span>
    17. <span v-else-if="score<90">优秀</span>
    18. <span v-else-if="score<=100">+</span>
    19. <span v-else="">输入不合法</span>
    20. <p>v-show</p>
    21. 请输入结果:<input v-model="showflag" />
    22. <span v-show="showflag">show:展示与否</span>
    23. <span v-if="showflag">if:展示与否</span>
    24. <p>v-for</p>
    25. <select >
    26. <option v-for="l in likes" :value="l.id" name>{{l.name}}</option>
    27. </select>
    28. <br>
    29. <div v-for="l in likes">
    30. <input type="checkbox" :value="l.id" name>{{l.name}}
    31. </div>
    32. </div>
    33. </body>
    34. <script type="text/javascript">
    35. new Vue({
    36. el:'#app',
    37. data(){
    38. return{
    39. score:0,
    40. showflag:false,
    41. likes:[
    42. {id:1,name:'网吧'},
    43. {id:1,name:'酒吧'},
    44. {id:1,name:'清吧'},
    45. {id:1,name:'茶吧'}
    46. ]
    47. }
    48. }
    49. })
    50. </script>
    51. </html>

    测试:

    三 、过滤器

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js">script>
    6. <title>Titletitle>
    7. head>
    8. <body>
    9. <div id="app">
    10. {{msg | zxw | zxw2}}
    11. {{msg | zxw3(2,5)}}
    12. {{msg | zxw3(1,4)}}
    13. div>
    14. body>
    15. <script type="text/javascript">
    16. Vue.filter('zxw',function(value){
    17. console.log(value);
    18. return value.substring(0,5);
    19. })
    20. Vue.filter('zxw2',function(value){
    21. debugger;
    22. console.log(value);
    23. return value.substring(3,5);
    24. })
    25. Vue.filter('zxw3',function(value,a,b){
    26. debugger;
    27. console.log(value);
    28. return value.substring(a,b);
    29. })
    30. new Vue({
    31. el:'#app',
    32. data(){
    33. return{
    34. msg:'hello vue!!!'
    35. }
    36. }
    37. })
    38. script>
    39. html>

    测试:

    四、计算属性&监听属性

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
    6. <title>Title</title>
    7. </head>
    8. <body>
    9. <div id="app">
    10. <p>计算属性</p>
    11. 请输入第一个数:<input v-model="x" /><br>
    12. 请输入第二个数:<input v-model="y" /><br>
    13. 结果为:{{addFlag}}
    14. <p>监听属性</p>
    15. 请输入千米:<input v-model="km" /><br>
    16. 请输入米:<input v-model="m" /><br>
    17. </div>
    18. </body>
    19. <script type="text/javascript">
    20. new Vue({
    21. el:'#app',
    22. data(){
    23. return{
    24. x:0,
    25. y:0,
    26. km:0,
    27. m:0
    28. }
    29. },computed:{
    30. // 计算属性
    31. addFlag:function () {
    32. return parseInt(this.x) + parseInt(this.y)
    33. }
    34. },
    35. watch:{
    36. //当前对应的是被监听的属性、v指的是被监听属性的值
    37. //当v对应的值发生变化的时候、会执行这个方法
    38. //v代表的是千米
    39. km:function(v){
    40. this.m = parseInt(v)*1000;
    41. },
    42. m:function(v) {
    43. this.km = parseInt(v)/1000;
    44. }
    45. }
    46. })
    47. </script>
    48. </html>

     测试:

     

  • 相关阅读:
    CSS 基础知识-02
    vue3.0 如何自定义指令
    java技术专家面试指南80问【java学习+面试宝典】(三)
    深入理解深度学习——Transformer:基础知识
    虚拟机磁盘扩容及重新分区方法
    Python-使用openpyxl读取excel内容
    半导体物理 2022.9.29
    前端基础学习笔记
    Linux之yum/git的使用
    如何做好测试?(五)性能测试(Performance Testing, PT)
  • 原文地址:https://blog.csdn.net/m0_62327548/article/details/126669698