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(){...});
vuejs深入浅出—基础篇的更多相关文章
- 深入浅出微服务框架dubbo(一):基础篇
一.基础篇 1.1 开篇说明 dubbo是一个分布式服务框架,致力于提供高性能透明化RPC远程调用方案,提供SOA服务治理解决方案.本文旨在将对dubbo的使用和学习总结起来,深入源码探究原理,以备今 ...
- 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 前端总结·基础篇·JS(四)异步请求及跨域方案
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- C#多线程之基础篇3
在上一篇C#多线程之基础篇2中,我们主要讲述了确定线程的状态.线程优先级.前台线程和后台线程以及向线程传递参数的知识,在这一篇中我们将讲述如何使用C#的lock关键字锁定线程.使用Monitor锁定线 ...
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 2000条你应知的WPF小姿势 基础篇<15-21>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...
- ABP框架实践基础篇之开发UI层
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 说明 其实最开始写的,就是这个ABP框架实践基础篇.在写这篇博客之前,又回头复习了一下ABP框架的理论,如果你还没学习,请查看AB ...
- C#多线程之基础篇2
在上一篇C#多线程之基础篇1中,我们主要讲述了如何创建线程.中止线程.线程等待以及终止线程的相关知识,在本篇中我们继续讲述有关线程的一些知识. 五.确定线程的状态 在这一节中,我们将讲述如何查看一个线 ...
- C#多线程之基础篇1
在多线程这一系列文章中,我们将讲述C#语言中多线程的相关知识,在多线程(基础篇)中我们将学习以下知识点: 创建线程 中止线程 线程等待 终止线程 确定线程的状态 线程优先级 前台线程和后台线程 向线程 ...
随机推荐
- Postman入门使用
Postman 是一个很强大的 API调试.Http请求的工具,方便易用,毋庸置疑. 1.Postman安装 a. 打开谷歌浏览器 b. 进入设置界面 c. 选择扩展程序 d. 选择chrome网上应 ...
- A - ACboy needs your help again!
ACboy was kidnapped!! he miss his mother very much and is very scare now.You can't image how dark th ...
- AngularJS封装webupload实现文件夹上传
百度的webupload没有开放api获取整个文件夹的信息.本文是二次开发webupload实现获取文件夹信息. 指令封装 /** * @license lx.ui.framework v1.0.0 ...
- SQL Server CTE 递归查询全解 -- 转 学习
在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例 ...
- Pycharm的激活码,亲测可用(20181223)
K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZWVOYW1lIjoibnNzIDEwMDEiLCJhc3NpZ25lZU5hbWUiO ...
- Servlet 中,out.print()与out.write()的区别
最近刚学习了Ajax,其中有通过$.getJSON的实现方式 由于前后端传递值的时候会通过流的方式进行传递,这就不得不涉及到这方面的知识了 PrintWrite out=response.getWri ...
- 深度搜索优先(全排列)//本内容来自《啊哈!算法》或者英文名《Aha!Algorithms》)
package Mypackage; import java.util.Scanner; public class 全排列{ static int a[]=new int[10]; static ...
- 函数round和trunc
1.round函数. round函数能够按照数学规则进行四舍五入的进位,以保留小数点后要求的位数. 使用方法为 round(<小数>,<保留的位数>) 下面是两个例子: ) f ...
- ASP.NET MVC下使用AngularJs语言(一):Hello your name
新春节后,分享第一个教程. 是教一位新朋友全新学习ASP.NET MVC下使用AngularJs语言. 一,新建一个空的Web项目.使用NuGet下载AngularJs和jQuery.二,配置Bund ...
- 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容
[源码下载] 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 作 ...