• v-once:只能使得组件解析执行一次的指令,如:
  1. <div id="app">
  2. <p>{{count}}</p>
      <!--count在v-once那行中只会渲染改变一次。-->
  3. <p v-once>{{count}}</p>
  4. </div>
  5. <script>
  6. const app = new Vue({
  7. el: '#app',
  8. data: {
  9. count: 0
  10. },
  11.  
  12. </script>
  • v-html:可以解析变量中的html代码块,如:
  1. <div id="app">
  2. <p v-html="url"></p>
  3. </div>
  4. <script>
  5. const app = new Vue({
  6. el: '#app',
  7. data: {
  8. url:'<a href="http://www.baidu.com">百度一下</a>',
  9. },
  10. </script>
  • v-pre:不进行解析直接展示原本的内容,如:
  1. <div id="app">
  2. <p>{{message}}</p>
  3. <p v-pre>{{message}}</p>
  4. </div>
  5. <script>
  6. const app = new Vue({
  7. el: '#app',
  8. data: {
  9. message:'haha'
  10. },
  11. </script>
  • V-bind:动态绑定属性(v-bind的语法糖:v-bind:src="imgUrl"等价于:bind:src="imgUrl")
  1. <div id="app">
  2. <a v-bind:href="url"></a>
  3. <img v-bind:src="imgUrl">
  4. </div>
  5. <script>
  6. const app = new Vue({
  7. el: '#app',
  8. data: {
  9. url:'http://www.baidu.com'
  10. imgUrl:'https://i0.hdslb.com/bfs/sycp/creative_img/202108/e9420839c81a40a9cf40280acb2bed46.jpg'
  11. },
  12. </script>
  • computed 计算属性:类似于method但不同于method,如:

  1. <div id="app">
  2. <h1>{{fullName}}</h1>
  3. <h1>{{fullName2}}</h1>
  4. </div>
  5.  
  6. <script>
  7. const app=new Vue({
  8. el:"#app",
  9. data:{
  10. firstName:'Eva',
  11. LastName:'Green'
  12. },
  13. methods:{
  14.  
  15. },
  16. // 计算属性,多次调用,只需要调用一次,因为内部有缓存,所以比Medthod性能更高
  17. computed:{
  18. fullName:function(){
  19. return this.firstName+' '+this.LastName
  20. },
  21. fullName2:{
  22. set:function(names){
  23. const name=names.split(' ')
  24. this.firstName=name[0]
  25. this.LastName=name[1]
  26. },
  27. get:function(){
  28. return this.firstName+' '+this.LastName
  29. }
  30. }
  31. }
  32. })
  33. </script>
  • v-on 事件监听,如:

  1. <div id="app">
  2. <!-- 没有参数不用加() -->
  3. <button type="button" v-on:click="increment">{{counter}}</button>
  4. <!-- 水果糖,有参数 -->
  5. <button type="button" @click="increment('haha',12)">{{counter}}</button>
  6. <!-- 手动获取浏览器自动获取的event参数 -->
  7. <button type="button" @click="increment(12,$event)">{{counter}}</button>
  8. </div>
  9.  
  10. <script>
  11. const app=new Vue({
  12. el:'#app',
  13. data:{
  14. counter:0
  15. },
  16. methods:{
  17. increment(e,event){
  18. this.counter++
  19. console.log('ee',e,event)
  20. }
  21. }
  22. })
  23. </script>
  • 事件监听的修饰符

  1. <div id="app">
  2. <!-- 没有参数不用加() -->
  3. <button type="button" v-on:click="increment">{{counter}}</button>
  4. <!-- 水果糖,有参数 -->
  5. <button type="button" @click="increment('haha',12)">{{counter}}</button>
  6. <!-- 手动获取浏览器自动获取的event参数 -->
  7. <button type="button" @click="increment(12,$event)">{{counter}}</button>
  8. <div @click="divClick">haha
  9. <!-- .stop修饰符的使用,点击button时只响应btnClick -->
  10. <button type="button" @click.stop="btnClick">{{counter2}}</button>
  11. <!-- .once修饰符的使用,只触发一次 -->
  12. <button type="button" @click.once="btnClick">{{counter2}}</button>
  13. </div>
  14. <form action="baidu" method="">
  15. <!-- .prevent修饰符的使用,阻住默认事件的发生,这里会默认跳转action -->
  16. <input type="submit" value="提交" @click.prevent="submitClick">
  17. </form>
  18. </div>
  19.  
  20. <script>
  21. const app=new Vue({
  22. el:'#app',
  23. data:{
  24. counter:0,
  25. counter2:0,
  26. },
  27. methods:{
  28. increment(e,event){
  29. this.counter++
  30. console.log('ee',e,event)
  31. },
  32. divClick(){
  33. console.log('divClick')
  34. },
  35. btnClick(){
  36. console.log('btnClick')
  37. },
  38. submitClick(){
  39. console.log('submitClick')
  40. }
  41. }
  42. })
  43. </script>
  • v-show的使用,如:

  1. <div id="app">
  2. <!-- v-show对比V-if的区别是它的实质是改变组件样式来实现,实际上还是存在,只是style:disable改变了 -->
  3. <button v-show="isShow" @click="changShow">1</button>
  4. </div>
  5. <script type="text/javascript">
  6. const app=new Vue({
  7. el:'#app',
  8. data:{
  9. isShow:true
  10. },
  11. methods:{
  12. changShow(){
  13. this.isShow=false
  14. }
  15. }
  16. })
  17. </script>
  • v-for数组遍历,如:

  1. <div id="app">
  2. <!-- 遍历数组 -->
  3. <ul>
  4. <li v-for="(item,index) in movies">No {{index+1}} is {{item.name}}</li>
  5. </ul>
  6. <br>
  7. <!-- 遍历对象 -->
  8. <ul>
  9. <li v-for="(value,key) in movies[0]">the movie's {{key}} is {{value}}</li>
  10. </ul>
  11. <button @click="changeList" type="button">数组改变</button>
  12. <h1 @click="sum(1,2,3,4,5,6,7,8,9)">sum</h1>
  13. <input type="text" name="" v-model="message" />{{message}}
  14. </div>
  15. <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">
  16. const app=new Vue({
  17. el:'#app',
  18. data:{
  19. message:'你好',
  20. movies:[
  21. {
  22. name:'银翼杀手',
  23. time:120,
  24. score:9.5
  25. },
  26. {
  27. name:'星球大战',
  28. time:110,
  29. score:7.5
  30. },
  31. {
  32. name:'霍比特人',
  33. time:100,
  34. score:8.5
  35. }
  36. ]
  37. },
  38. methods:{
  39. changeList(){
  40. const movie1={
  41. name:'指环王',
  42. time:200,
  43. score:9.9
  44. },
  45. const movie2={
  46. name:'蝙蝠侠',
  47. time:130,
  48. score:9.8
  49. },const movie3={
  50. name:'汉尼拔',
  51. time:140,
  52. score:9.7
  53. }
  54. this.movies[0].time=12//不能响应式
  55. this.movies.shift()//删除最前面的元素
  56. this.movies.pop()//删除最后面的元素
  57. this.movies.unshift(movie2)//最前面添加元素,可以一次加多个元素
  58. this.movies.push(movie1)//后面添加元素,可以一次加多个元素
  59.  
  60. },
  61. sum(...num){
  62. //这样的参数表示可以接受任意数量参数,而存储在num数组中
  63. console.log('num',num)
  64.  
  65. }
  66. }
  67. })
  68. </script>

Vue一些需要记住的指令/属性的更多相关文章

  1. vue v-nav指令属性列表

    v-nav指令属性列表 属性名 属性描述 类型 必选 默认 title 导航栏标题 String No 空字符串 showBackButton 是否显示(左边的)返回按钮 Boolean No fal ...

  2. Vue学习之路8-v-on指令学习简单事件绑定之属性

    前言 上一篇文章以v-on指令绑定click事件为例介绍了v-on指令的使用方法,本文介绍一下v-on绑定事件的一些属性的使用方法. v-on绑定指令属性 .stop属性 阻止单击事件继续向上传播(简 ...

  3. Vue.2.0.5-自定义指令

    简介 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令.注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件--然而,有的情况下,你仍然需要对纯 D ...

  4. Vue基础进阶 之 自定义指令

    自定义指令-----钩子函数 自定义指令 除了内置指令,Vue也允许用户自定义指令: 注册指令:通过全局API Vue.directive可以注册自定义指令: 自定义指令的钩子函数: bind: in ...

  5. Vue滚动加载自定义指令

    用Vue在移动端做滚动加载,使用mint-ui框架, InfiniteScroll指令loadmore组件,在uc浏览器和qq浏览器都无法触发.无奈我只能自己写了. 决定用vue 的自定义指令 写滚动 ...

  6. Vue.js的类Class 与属性 Style如何绑定

    Vue.js的类Class 与属性 Style如何绑定 一.总结 一句话总结:数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性,我们可以用 v-bind 处理它们:我 ...

  7. vue自定义全局和局部指令

    一.介绍 1.除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令. 2.自定义指令的分类       1.全局指令 2.局部指令 3.自定义全局指令格式 V ...

  8. 第一章、VUE-挂载点-实例成员-数据-过滤器-文本指令-事件指令-属性指令-表单指令-01

    目录 路飞项目 vue vue 导读 vue 的优势 渐进式框架 引入 vue 实例成员 - 挂载点 el js 对象(字典)补充 实例成员 - 数据 data 实例成员 - 过滤器 filters ...

  9. VUE-挂载点-实例成员-数据-过滤器-文本指令-事件指令-属性指令-表单指令-01

    目录 路飞项目 vue vue 导读 vue 的优势 渐进式框架 引入 vue 实例成员 - 挂载点 el js 对象(字典)补充 实例成员 - 数据 data 实例成员 - 过滤器 filters ...

随机推荐

  1. swoole实现任务定时自动化调度详解

    开发环境 环境:lnmp下进行试验 问题描述 这几天做银行对帐接口时,踩了一个坑,具体需求大致描述一下. 银行每天凌晨后,会开始准备昨天的交易流水数据,需要我们这边请求拿到. 因为他们给的是一个bas ...

  2. 两个字符串,s1 包含 s2,包含多次,返回每一个匹配到的索引---python

    #两个字符串,s1 包含 s2,包含多次,返回每一个匹配到的索引 def findSubIndex(str1,subStr): str_len = len(str1) sub_len = len(su ...

  3. 『动善时』JMeter基础 — 55、JMeter非GUI模式运行

    目录 1.JMeter的非GUI模式说明 2.为什么使用非GUI模式运行JMeter 3.怎样使用非GUI模式运行JMeter (1)非GUI模式运行JMeter步骤 (2)其它参数说明 4.CLI模 ...

  4. Django基础013--redis开发

    1.redis配置 在settings.py中加入以下代码块,可支持多个redis的配置 1 CACHES = { 2 "default": { 3 "BACKEND&q ...

  5. C语言:FILE p和FILE *p

    FILE p和FILE *p大概可以这么理解:1 . 前一个p指文件型变量,后一个p指文件地址型变量.2 . 前一个p的内存地址已定,后一个p内存地址未定. 前一个是声明类对象,后一个是声明一个可指向 ...

  6. C语言printf用法详解

    #include <stdio.h> int main() { printf("%s","hello world1!\n");//%s字符标志可省略 ...

  7. ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放

    ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放 前言 加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢? 锁重入 在上一小节中,可以看到加锁的过程,再回头看 ...

  8. 前端开发入门到进阶第三集【JavaScript中如何将html字符串转化为Jquery对象或者Dom对象】

    https://www.cnblogs.com/mingjiatang/p/4746845.html

  9. CentOS下配置Nginx实现动静分离实例

    测试环境: CentOS Linux release 7.6 PHP 7.2.32 两台服务器:192.168.1.109(Nginx),192.168.1.118(Apache) 1. 安装配置19 ...

  10. 计算机基础-Socket

    计算机基础-Socket 当时明月在,曾照彩云归. 简介:计算机基础-Socket 一.I/O 模型 一个输入操作通常包括两个阶段: 等待数据准备好 从内核向进程复制数据 对于一个套接字上的输入操作, ...