博主信息
博文 45
粉丝 0
评论 0
访问量 46967
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
vue基础知识 指令
咸鱼老爷
原创
768人浏览过

{{插值表达式}}

  1. <h2>{{word}}</h2>
  2. <script>
  3. const vue = new Vue({
  4. //挂载点
  5. el: 'h2',
  6. //数据注入
  7. data: {
  8. word: '这是插值'
  9. }
  10. });
  11. </script>

指令:由专门vue实例管理的自定义属性,称之为指令;

v-text==》innerText,textContent;
v-once只渲染一次
v-html==》innerHTML

  1. <p v-text='username'></p>
  2. <p v-once='username'>只渲染一次</p>
  3. <p v-html='username'></p>
  4. <script>
  5. const vm = new Vue({
  6. el: '.app',
  7. data: {
  8. username: 'admin',
  9. },
  10. })
  11. </script>

绑定style属性

v-bind: style;简写为:style;

  1. <p v-bind:style='style1' v-text='username'></p>
  2. <!-- 简写 -->
  3. <p :style='style1' v-text='username'></p>
  4. <script>
  5. const vm = new Vue({
  6. el: '.app',
  7. data: {
  8. username: 'admin',
  9. style1: 'color:red',
  10. },
  11. })
  12. </script>

绑定类class属性

v-bind: class,简写为:class

  1. <style>
  2. .active {
  3. color: rosybrown;
  4. }
  5. .big {
  6. font-size: 2rem;
  7. }
  8. </style>
  9. <div class="app">
  10. <p v-text='username' v-bind:class='class1'></p>
  11. <p v-text='username' :class='[`active`,`big`]'></p>
  12. <p v-text='username' :class='{active:isActive,big:isBig}'></p>
  13. </div>
  14. <script>
  15. const vm = new Vue({
  16. el: '.app',
  17. data: {
  18. username: 'admin',
  19. style1: 'color:red',
  20. class1: `active big`,
  21. isActive: true,
  22. isBig: false,
  23. },
  24. })
  25. </script>

绑定事件

v-on:事件 可以简写为@事件

  1. <p v-on:click='show' v-text='site'></p>
  2. <p @click='show' v-text='site'></p>
  3. <script>
  4. const vm = new Vue({
  5. el: '.app',
  6. data: {
  7. username: 'admin',
  8. style1: 'color:red',
  9. class1: `active big`,
  10. isActive: true,
  11. isBig: false,
  12. site: '这是网站'
  13. },
  14. methods: {
  15. show() {
  16. //this:就是当前vue实例对象
  17. alert(this.site)
  18. }
  19. }
  20. })
  21. </script>

事件修饰符

  • prevent:防止元素的默认行为
    <a href="http://www.baidu.com" v-on:click.prevent='show' v-text='site'></a>
  • stop 阻止冒泡
    <a href="http://www.baidu.com" v-on:click.prevent.stop='show' v-text='site'></a>
  • onece 只允许执行一次
    <a href="http://www.baidu.com" v-on:click.prevent.once.stop='show' v-text='site'></a>

    事件方法的传参

    事件对象的参数么必须是$event

    1. <button @click.stop='handle($event,100,200)'>click</button>
    2. <script>
    3. const vm = new Vue({
    4. el: '.app',
    5. data: {
    6. username: 'admin',
    7. style1: 'color:red',
    8. class1: `active big`,
    9. isActive: true,
    10. isBig: false,
    11. site: '这是网站'
    12. },
    13. methods: {
    14. show() {
    15. //this:就是当前vue实例对象
    16. alert(this.site)
    17. },
    18. handle(ev, a, b) {
    19. console.log(ev.type, ev.target);
    20. console.log('%d+%d=%d', a, b, (a + b));
    21. }
    22. }
    23. })
    24. </script>

    双向绑定

    v-model

    1. <div class="app">
    2. <p>{{site}}</p>
    3. <p><input type="text" :value='site' @input="site=$event.target.value"></p>
    4. <!-- 语法糖 v-model -->
    5. <p><input type="text" v-model.lazy='site'></p>
    6. </div>
    7. <script>
    8. //双向绑定
    9. const vm = new Vue({
    10. el: '.app',
    11. data: {
    12. site: 'admin.com',
    13. },
    14. methods: {
    15. }
    16. })
    17. </script>

    列表渲染

    使用v-for指令基于一个数组来渲染一个列表,使用 item in items(别名 in 数据源)语法

    1. <div class="app">
    2. <!-- key可以干预diff算法
    3. vue通过稳定且唯一的key值判断这个节点是否需要重新渲染,以提升效率
    4. -->
    5. <!-- 数组 -->
    6. <ul>
    7. <li v-for="(item,index) in items" :key='index'> {{index}}--{{item}}</li>
    8. </ul>
    9. <!-- 对象 -->
    10. <ul>
    11. <li v-for="(item,prop,index) in user" :key="prop"> {{index}}-{{prop}}-{{item}}</li>
    12. </ul>
    13. <!-- 对象数组 -->
    14. <ul>
    15. <li v-for="(item,index) in users" :key="item.id"> {{item.id}}--{{item.name}}--{{item.age}}</li>
    16. </ul>
    17. <span v-for="(n,i) in 10" :key='i'>{{n}}</span>
    18. </div>
    19. <script>
    20. const vm = new Vue({
    21. el: '.app',
    22. data: {
    23. items: ['西安', '渭南', '咸阳'],
    24. user: {
    25. id: 10,
    26. name: 'admin',
    27. age: 22
    28. },
    29. users: [{
    30. id: 1,
    31. name: 'admin',
    32. age: 18
    33. }, {
    34. id: 2,
    35. name: 'admin1',
    36. age: 28
    37. }, {
    38. id: 3,
    39. name: 'admin2',
    40. age: 38
    41. },
    42. ]
    43. }
    44. })
    45. </script>

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学