vue的指令

1.v-if判断
2.v-for循环
3.v-model数据的双向绑定

  1. v-on事件属性

    实例演示

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Document</title> -->
    6. <!-- 导入vue -->
    7. <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
    8. </head>
    9. <body>
    10. <div id="app">
    11. <p v-bind:style="style1,style2">{{site}}</p>
    12. <p v-html="messgae"></p>
    13. <p v-text="text1"></p>
    14. <!-- 不会改变因为页面已经加载了一次显示了1所以无论在改变也不会改变其值 -->
    15. <p v-once>{{one}}</p>
    16. <!-- 会改变 -->
    17. <p>{{one}}</p>
    18. <!-- @click是v-on:click的简称代表点击事件 -->
    19. <button v-on:click="btn">按钮</button>
    20. <input type="text" v-model="one" name=""/>
    21. <!-- v-for循环 -->
    22. <!-- key自定义键属性,主要功能是干扰diff算法 -->
    23. <!-- 遍历数组-->
    24. <p v-for="(index,item) in dogs" :key="index">{{index}}{{item}}</p>
    25. <!-- 遍历对象 -->
    26. <p v-for="(index,prop,item) in users" :key="index">{{index}}{{prop}}{{item}}</p>
    27. <!-- 遍历对象数组 -->
    28. <p v-for="(index,prop,item) in users" :key="index">{{index}}{{prop}}{{item}}</p>
    29. <!-- 单分支判断 -->
    30. <p v-if="flag">{{message}}</p>
    31. <button v-on:click="flag=!flag" v-text="tips=flag?'隐藏':'显示'" ></button>
    32. <!-- 多分支判断 -->
    33. <p v-if="point>=1000&&point<2000">{{grade[0]}}</p>
    34. <p v-else-if="point>=200&&point<100">{{grade[1]}}</p>
    35. <p v-else-if="point>100&&point<50">{{grade[2]}}</p>
    36. <p v-else="point>0&&point<50">{{grade[3]}}</p>
    37. </div>
    38. <script type="text/javascript">
    39. new Vue({
    40. el:"#app",
    41. data(){
    42. return{
    43. site:"我是vue",
    44. style1:"color:red",
    45. style2:"background:green",
    46. messgae:"<h2>我是message</h2>",
    47. text1:"我是text1",
    48. one:"1",
    49. //金牌会员
    50. point:1000,
    51. //默认显示,默认隐藏false
    52. flag:true,
    53. //数组
    54. dogs:['jaas','dfkjd'],
    55. //对象
    56. users:{name:"xom",age:18,id:1},
    57. //对象数组
    58. users:[
    59. {id:1,name:"xom",age:18},
    60. {id:2,name:"ming",age:18},
    61. {id:3,name:"xiaod",age:18},
    62. {id:4,name:"jing",age:18},
    63. ]
    64. }
    65. },
    66. methods:{
    67. btn:function(){
    68. alert(this.site);
    69. }
    70. }
    71. })
    72. </script>
    73. </body>
    74. </html>

    计算属性

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>计算属性computed</title>
    6. <!-- 导入vue -->
    7. <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script> </head>
    8. <body>
    9. <div id="app">
    10. <p>数量:<input type="number" v-model="num" style="width:300px;" min="0" max="10"/></p>
    11. <p>单价:{{price}}元</p>
    12. <p>金额:{{amount}}</p>
    13. </div>
    14. <script type="text/javascript">
    15. let vm=new Vue({
    16. el:"#app",
    17. data(){
    18. return{
    19. num:0,
    20. price:50,
    21. res:0,
    22. };
    23. },
    24. computed:{
    25. amount:{
    26. // 访问器get属性
    27. get(){
    28. return this.num*this.price;
    29. },
    30. // 访问器set属性value代表的是amount的值。
    31. set(value){
    32. console.log(value);
    33. if(value>=500){
    34. this.price=40;
    35. };
    36. },
    37. },
    38. },
    39. });
    40. vm.amount=500;
    41. </script>
    42. </body>
    43. </html>

    侦听器属性

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>watch侦听器属性</title>
    6. <!-- 导入vue -->
    7. <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
    8. </head>
    9. <body>
    10. <div id="app">
    11. <p>数量:<input type="number" v-model="num" style="width:300px;" min="0" :max="max"/></p>
    12. <p>单价:{{price}}元</p>
    13. <p>金额:{{res}}</p>
    14. </div>
    15. <script type="text/javascript">
    16. let vm=new Vue({
    17. el:"#app",
    18. data(){
    19. return{
    20. num:0,
    21. price:50,
    22. res:0,
    23. max:100,
    24. };
    25. },
    26. //侦听器属性
    27. //用来监听某一个属性值的变化,属性名要和data字段中的变量名称相同。
    28. //例如我要监听num变量的变化
    29. //num(新的值,旧的值)
    30. watch:{
    31. num(newVal,oldVue){
    32. console.log(newVal,oldVue);
    33. // this.res=this.num*this.price;
    34. // this.num--->newVal, this.price;
    35. this.res=newVal*this.price;
    36. if(newVal>=20){
    37. this.max=newVal;
    38. alert("库存不足");
    39. },
    40. },
    41. },
    42. });
    43. </script>
    44. </body>
    45. </html>

更多相关文章

  1. 使用 IntraWeb (20) - 基本控件之 TIWGrid
  2. Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数
  3. Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找
  4. CSS样式规则-CSS结构的特点
  5. css详解background八大属性及其含义
  6. css详解position五种属性用法及其含义
  7. Visual Studio 2019 C++使用log4cplus
  8. 网站加载页面(HTML+CSS+JS,简易版)
  9. 210406 类数组 获取遍历DOM元素 向元素添加文本 获取元素的自定

随机推荐

  1. IDEA启动android emulator报错
  2. Android设备唯一标识符(适配Android Q)
  3. Android大数据、断点续传、耗时下载之Dow
  4. 【起航计划 002】2015 起航计划 Android
  5. 华为android 10 手机恢复删除的图片,目前
  6. 搭建自己的Android浏览器(一)
  7. 在android上运行native可执行程序
  8. Android自定义相机超详细讲解
  9. Android处理屏幕旋转时的解决方案
  10. Android格式化外部设备如USB等