vue 笔记一
vue:
	读音:	v-u-e
	view
vue到底是什么?
		一个mvvm框架(库)、和angular类似
		比较容易上手、小巧
	mvc:
		mvp
		mvvm
		mv*
		mvx
	官网:http://cn.vuejs.org/	
	手册: http://cn.vuejs.org/api/
vue和angular区别?
	vue——简单、易学
		指令以 v-xxx
		一片html代码配合上json,在new出来vue实例
		个人维护项目
适合: 移动端项目,小巧
vue的发展势头很猛,github上start数量已经超越angular
	angular——上手难
		指令以 ng-xxx
		所有属性和方法都挂到$scope身上
		angular由google维护
合适: pc端项目
共同点: 不兼容低版本IE
-------------------------------------------
vue基本雏形:
	angular展示一条基本数据:
var app=angular.module('app',[]);
app.controller('xxx',function($scope){  //C
  $scope.msg='welcome'
})
html:
div ng-controller="xxx"
{{msg}}
vue:
		html:
<div id="box">
{{msg}}
</div> var c=new Vue({
el:'#box', //选择器 class tagName
data:{
msg:'welcome vue'
}
});
常用指令:
	angular: 
		 ng-model   ng-controller
		 ng-repeat
		 ng-click
		 ng-show
$scope.show=function(){}
指令: 扩展html标签功能,属性
v-model 一般表单元素(input) 双向数据绑定
循环:
v-for="name in arr"
{{$index}} v-for="name in json"
{{$index}} {{$key}} v-for="(k,v) in json"
事件:
v-on:click="函数"
v-on:click/mouseout/mouseover/dblclick/mousedown.....
new Vue({
  el:'#box',
  data:{ //数据
    arr:['apple','banana','orange','pear'],
    json:{a:'apple',b:'banana',c:'orange'}
  },
  methods:{
    show:function(){  //方法
      alert(1);
    }
  }
});
显示隐藏:
v-show=“true/false”
bootstrap+vue简易留言板(todolist):
bootstrap: css框架	跟jqueryMobile一样
		只需要给标签 赋予class,角色
		依赖jquery
确认删除?和确认删除全部么?
-----------------------------------------
事件:
v-on:click/mouseover......
简写的:
@click="" 推荐
事件对象:
@click="show($event)"
事件冒泡:
		阻止冒泡:
a). ev.cancelBubble=true;
b). @click.stop 推荐
默认行为(默认事件):
		阻止默认行为:
a). ev.preventDefault();
b). @contextmenu.prevent 推荐
键盘:
@keydown $event ev.keyCode
@keyup
常用键:
			回车
a). @keyup.13
b). @keyup.enter
上、下、左、右
@keyup/keydown.left
@keyup/keydown.right
@keyup/keydown.up
@keyup/keydown.down
.....
-----------------------------------------
属性:
v-bind:src=""
width/height/title....
简写:
:src=""	推荐
<img src="{{url}}" alt="">	效果能出来,但是会报一个404错误
<img v-bind:src="url" alt="">	效果可以出来,不会发404请求
-----------------------------------------
class和style:
:class="" v-bind:class=""
:style="" v-bind:style="" :class="[red]" red是数据
:class="[red,b,c,d]" :class="{red:a, blue:false}" :class="json" data:{
json:{red:a, blue:false}
}
--------------------------
	style:
:style="[c]"
:style="[c,d]"
注意: 复合样式,采用驼峰命名法
:style="json"
-----------------------------------------
模板:
{{msg}}	数据更新模板变化
{{*msg}}	数据只绑定一次
{{{msg}}}	HTML转意输出
-----------------------------------------
过滤器:-> 过滤模板数据
	系统提供一些过滤器:
{{msg| filterA}}
{{msg| filterA | filterB}}
uppercase	eg:	{{'welcome'| uppercase}}
lowercase
capitalize
currency	钱
{{msg| filterA 参数}}
....
-----------------------------------------
交互:
	$http	(ajax)
如果vue想做交互
引入: vue-resouce
get:
		获取一个普通文本数据:
this.$http.get('aa.txt').then(function(res){
  alert(res.data);
},function(res){
  alert(res.status);
});
给服务发送数据:√
this.$http.get('get.php',{
  a:1,
  b:2
}).then(function(res){
  alert(res.data);
},function(res){
  alert(res.status);
});
post:
this.$http.post('post.php',{
  a:1,
  b:20
},{
  emulateJSON:true
}).then(function(res){
  alert(res.data);
},function(res){
  alert(res.status);
});
jsonp:
		https://sug.so.360.cn/suggest?callback=suggest_so&word=a
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a&cb=jshow
this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{
  wd:'a'
},{
  jsonp:'cb'  //callback名字,默认名字就是"callback"
}).then(function(res){
  alert(res.data.s);
},function(res){
  alert(res.status);
});
https://www.baidu.com/s?wd=s
vue 笔记一的更多相关文章
- Vue笔记目录
		
Vue笔记目录 一.Vue.js介绍 二.vue基础-vue-cli(vue脚手架) ...持续更新中,敬请期待
 - 《Vue笔记01: 我与唐金州二三事》
		
最近我在收看唐金州在极客时间发布的<vue从入门到精通>,颇有收获. 唐金州,一点资讯前端技术专家,曾在蚂蚁金服就职,也是开源组件库ant design vue的作者,虽然唐老师写的ant ...
 - Vue笔记--通过自定义指令实现按钮操作权限
		
经常做中后台系统,此类系统的权限是比较重要,拿自己做过的一些项目做个笔记. Vue实现的中后台管理系统.按钮操作权限的空置一般都是通过自定义指令Vue.directive. <el-button ...
 - Vue笔记(有点乱)
		
Vue学习笔记(2019.7.31) 目录 Vue学习笔记(2019.7.31) vue 基本指令用法 v-cloak v-text v-html v-bind v-on 跑马灯 v-on v-mod ...
 - 一个后端开发的 Vue 笔记【入门级】
		
一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的 ...
 - vue笔记
		
安装vue脚手架工具 sudo cnpm install -g vue-cli
 - vue笔记    递归组件的使用
		
递归组件 什么是递归组件? 组件自身去调用组件自身. 代码示例 DetailList.vue(子组件-递归组件) <template> <div> <div class= ...
 - vue笔记-列表渲染
		
用v-for把一个数组对应为一组元素 使用方法:v-for="(item,index) in items"//也可以使用of替代in { items:源数组 item:数组元素迭代 ...
 - vue笔记-条件渲染
		
条件渲染 1:指令v-if单独使用和结合v-else //单独使用 <h1 v-if="ok">Yes</h1> //组合使用 <h1 v-if=&q ...
 - 【Vue笔记】-- 详解vue生命周期
		
针对于Vue的生命周期进行详细的说明,方面加深对各个方法的引用. 引言: 前几天重新回顾vue官网时,看到vue的生命周期,想着自己用vue开发了快一年了,就总结总结vue知识,再次加深自己对vue的 ...
 
随机推荐
- Android学习网站(1)
			
收集了一些比较好的Android学习网站,希望对大家有所帮助: 1.http://developer.android.com/ Android官方网站,可惜被屏蔽了,需要使用FQ软件 2.http:/ ...
 - MVC扩展Filter,通过继承ActionFilterAttribute为登录密码加密
			
与ActionFilter相关的接口有2个: □ IActionFilter 对action执行前后处理 void OnActionExecuting(ActionExecutingContext f ...
 - Java String和Date的转换 Date类型操作
			
String—>Date String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new Simple ...
 - 新手学习selenium路线图(老司机亲手绘制)-学前篇
			
前言: 本来这篇是只在微信公众号(yoyoketang)上发布的,最近一搜,发现本很多人copy(copy公众号的,图片是加载不出来的)了,还没注明出处,不想多说什么,博客上也同步更新这篇吧! 最近群 ...
 - dwz 刷新当前navtab
			
List.jsp 其navtabId为TradingStrategy_31: <form method="post" action="${contextPath}/ ...
 - cocos编译Android版本号问题总结
			
今天编译cocos2d-x项目到Android平台遇到编译不通过的问题,编译错误提示是一堆乱码. 主要原因有: 1.文件编码格式错误 或 换行符格式错误,改动方法为,在VS2012里面选择 文件-&g ...
 - PHP语言基础之MySql 05 By ACReaper
			
PHP的基本语法学完后,我们马上学下PHP如何和MySql进行交互.PHP和MySql进行交互的API可以分为两类,一类是面向过程的,一类是面向对象的,面向对象的我们等复习完面向对象再介绍,现在先介绍 ...
 - [1] 平面(Plane)图形的生成算法
			
顶点数据的生成 bool YfBuildPlaneVertices ( Yreal width, Yreal length, Yreal height, Yuint slices, Yuint sta ...
 - 3D几何图形生成的DEMO
			
3D几何图形生成的DEMO 可以生成以下几种图形: [1] 平面(Plane)图形的生成算法 [2] 立方体(Box)图形的生成算法 [3] 球(Sphere)图形的生成算法 [4] 圆锥(Cone) ...
 - JavaScript初学者建议:不要去管浏览器兼容
			
如果可以回到过去的话,我会告诉自己这句话:"初学JavaScript的时候无视DOM和BOM的兼容性" 我初学时的处境 在我初学JavaScript的时候最头痛的就是浏览器兼容问题 ...