vuejs深入浅出—基础篇

一、从HelloWorld说起

任何语言的都是从Hello World开始的,VueJs也不例外,直接上代码:

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="demo">

{{hello}}

</div>

<script>

 new Vue({

 el:'#demo',

 data:{hello:'hello world!'}

 });

</script>

二、常用指令 v-x的使用

1.v-if/v-else 移除或插入DOM;

2.v-show 显示或隐藏DOM(相当与设置display:none;);

3.v-model 双向数据绑定;

4.v-for 数据循环渲染;

5.v-text/v-html 标签内部插值 ex:<div v-html=’html’></div>等同于<div>{{html}}</div>,不建议使用v-html,容易导致XSS攻击;

6.v-bind 绑定更新html特性,完整语法:<a v-bind:href="url"></a>、缩写:<a :href="url"></a>;

7.v-on 事件监听器绑定,完整语法:<a v-on:click="doSomething"></a>、缩写<a @click="doSomething"></a>;

三、模板渲染

模板渲染可以使用Javascript表达式,{{number+1}}、{{ok?’yes’:’no’}}

四、计算属性 & Methods

在模板中绑定表达式是非常便利的,但在模板中放入太多的逻辑会让模板过重且难以维护。例如:

<div id="example">

  {{ message.split('').reverse().join('') }}

</div>

这里就要使用计算属性了。

<div id="example">

  <p>Original message: "{{ message }}"</p>

  <p>Computed reversed message: "{{ reversedMessage }}"</p>

</div>

<script>

var vm = new Vue({

  el: '#example',

  data: {

    message: 'Hello'

  },

  computed: {

    reversedMessage: function () {

      return this.message.split('').reverse().join('')

    }

  }

});

</script>

同样,使用Methods也可以达到一样的效果,代码如下:

<div id="example">

  <p>Original message: "{{ message }}"</p>

  <p>Computed reversed message: "{{ reversedMessage() }}"</p>

</div>

<script>

var vm = new Vue({

  el: '#example',

  data: {

    message: 'Hello'

  },

  methods: {

    reversedMessage: function () {

      return this.message.split('').reverse().join('')

    }

  }

});

</script>

五、过滤器

过滤器本质上就是一个函数,作用就是用户输入数据之后,进行除了返回结果。Vue.js支持任何表达式的地方添加过滤器。比如内置过滤器uppercase(字母全部转换成大写):<span v-text=”message | uppercase”></span>。

内置过滤器列举:

1.字母操作:capitalize(首字母大写)|uppercase(全部字母转换为大写)|lowercase(全部转换为小写)。

2.限制:

a.limitBy(限制数组显示n个)ex:<div v-for=”item in items | limitBy 10 5”>第一个参数是展示条数,第二个参数是从下标5开始,也就是显示5-15条数据。

b.filterBy(过滤字符串或者函数),ex:<div v-for=”item in items | filterBy ‘hello’”>过滤字符串有hello的元素。

c.orderBy(排序)<li v-for=“user in users | orderBy ‘name’ ‘age’”>根据名称和年龄排序。

3.json过滤器,JSON.stringify()精简缩略版,把表达式转换成JSON字符串,ex:{{ data | json 4 }},缩进4个字符打印data对象。

4.currency过滤器,把数字转换为货币形式输出,ex:{{ money | currency }} 结果1234=> $1,234.00.

5.debounce过滤器,延迟执行处理器,接受的表达式必须为函数,比如监听用户输入值300毫秒之后在ajax请求,防止方法频繁被掉用,还是比较实用的,<input @keyup=”onKeyup | debounce 300”>.

6.自定义过滤器,创建全局过滤器,Vue.filter(ID,function(){...});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LIN_ZONE

javascript基础重点

1.在javascript中使用 == 比较,会自动转换数据类型再比较,有时候会 得到非常诡异的结果;一般情况下使用 === 比较,它不会自动转换数据类型,如果...

9620
来自专栏技术之路

golang 常见疑惑总结

14330
来自专栏IMWeb前端团队

【译】使用箭头函数精简你的 Vue 模块

本文作者:IMWeb ShiJianwen 原文出处:IMWeb社区 未经同意,禁止转载 原文链接:https://dotdev.co/clean-...

29180
来自专栏小灰灰

SPI框架实现之旅三:实现说明

SPI框架实现之旅三:实现说明 前一篇 《SPI框架实现之旅二:整体设计》中,介绍了几个定义的接口,注解;叙述了实现流程;并简单的介绍了 SpiLoader中...

205100
来自专栏Python爬虫实战

Python数据类型之字符串

字符串就是一系列的字符。Python中,用配对的引号括起来的都是字符串,其中引号可以是单引号也可以是双引号:

9220
来自专栏大前端_Web

SASS相关

版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/articl...

20010
来自专栏LEo的网络日志

go语言接口学习

37750
来自专栏个人分享

XML编程知识点总结

DOM的全称是Document Object Model,也即文档对象模型。基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合,应用程序挣是通过...

9020
来自专栏TungHsu

这或许是对小白最友好的python入门了吧——12,列表深入体验

有些时候我们不需要整个列表元素,只需要其中一段列表就好了,我们应该怎么办呢? 这个叫做列表切片。 exam = ["cet","english","math",...

29850
来自专栏IMWeb前端团队

20个例子入门Q.js

本文希望通过20个简单的例子让没用过Q.js的同学快速掌握其基本用法 1. 新建实例 html代码: <div id="demo" q-text="msg"><...

34870

扫码关注云+社区

领取腾讯云代金券