前端学习(三十八)vue(笔记)
Angular+Vue+React
Vue性能最好,Vue最轻
=======================================================
Angular
入门难,学习成本高
Vue
简单
=======================================================
Vue
官网:http://vuejs.org/
中文:http://cn.vuejs.org/
Vue.js的发展
1.x
2.x √
=================================================
Vue如何玩?
new Vue({
el:'元素选择器',
data:{
数据
},
methods:{
方法
方法中:this就是当前new出来的实例
}
});
事件
<button v-on:click="方法()">按钮</button>
<button @click="方法()">按钮</button>
指令:
v-model 指定数据
v-for 循环
v-for="value in arr"
v-for="(value,index) in arr"
v-for="(value,key,index) in json"
v-show 显示
====================================================
简易留言板
计算属性
{{reverseMessage}}
new Vue({
el:'#app',
data:{
message:'hello'
},
computed:{
reverseMessage(){
return this.message.split('').reverse().join('');
}
}
});
======================================================
class操作
:class="{active:true/false}"
style操作
:style="{width:width+'px'}"
图片
:src=""
==================================================
交互
Vue本身不支持交互
可以跟任何交互的库配合
jquery
axios 交互库
不支持jsonp,只支持ajax
=======================================
钩子函数 生命周期
beforeCreate 创建实例之前
created 创建实例完成
beforeMount 挂载之间
mounted 挂载完成
beforeUpdate 更新之前
updated 更新完毕
beforeDestroy 销毁之前
destroyed 销毁完毕
如何销毁:
v.$destroy()
防止闪屏
[v-clock]{
display: none;
}
<div id="div1" v-clock></div>
================================================
事件
事件对象
$event
@click
@contextmenu
@keydown
事件冒泡
ev.cancelBubble = true;
@click.stop = "show()"
默认事件
ev.preventDefualt();
@click.prevent = "show()"
事件冒泡和默认事件同时解决
@click.stop.prevent = "show()"
键盘事件
@keydown.ctrl/enter
自定义按键
Vue.config.keyCodes.a = 65;
@keydown.a = "show()"
=============================================
模板
{{}}
v-text
v-html
-================================================
Vue组件
组件 Component
---------------------------------------------
定义组件
公共的组件
Vue.component('组件的名字',{
template:'模板',
data(){
return {
数据
};
}
});
私有的组件
new Vue({
components:{
'组件的名字':{
template:'模板',
}
}
});
使用组件
<组件的名字></组件的名字>
template一定要有一个根元素
组件写在template中可读性差
<template id=""></template>
<script type="x-template" id=""></script>
==============================================
组件之间数据通信
父级给子级数据
<test :aaa="xxx"></test>
Vue.component('test',{
template:'',
props:['aaa']
或者
props:{
aaa:String
}
});
子级给父级数据
=============================================
Vuex
http://vuex.vuejs.org/
============================================
Vue filter 过滤器
============================================
路由 ***
http://router.vuejs.org/
============================================
vue-cli 脚手架
# 全局安装 vue-cli
$ npm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project
# 安装依赖,走你
$ cd my-project
$ npm install
$ npm run dev
vue init webpack 项目名
vue init webpack-simple 项目名 √
=========================================
引入静态样式资源需要:
style-loader
css-loader
下载:
npm install style-loader css-loader --save-dev
配置:
webpack.config.js
{
test: /\.css$/,
loader: ['style-loader','css-loader']
}
==================================================
axios 2.x推荐
vue-resource 1.x推荐
引入本地图片
require(url);
前端学习(三十八)vue(笔记)的更多相关文章
- 前端学习(三十六)promise(笔记)
一个页面: 头部.用户信息.新闻列表 jquery ajax: 1.$.ajax({ url:'', dataType:'json', }).then(res=>{ //r ...
- 前端学习(三十九)移动端app(笔记)
移动端App 开发App的三种方式 Native App 原生 底层语言 java Android oc ...
- 前端学习(三十五)模块化es6(笔记)
RequireJs:一.安装.下载 官网: requirejs.org Npm: npm i requirejs二.使用 以前的开发方式的问题: 1).js 是阻塞加 ...
- 前端学习(三十四)对象&模块化(笔记)
人,工人 //类的定义 function Person(name,age){ //构造函数 //工厂模式 //1.原料 //var obj = new ...
- 前端学习(三十)es6的一些问题(笔记)
赋值表达式 document.onclick = document.onmouseover = fn; var a = b = c = d = 5; 不推荐 逗号表 ...
- 前端学习(二十八)es6&ajax(笔记)
ES6 let 块级作用域 const 解构赋值 字符串拼接 扩展运算符 ------------------------------------------ ...
- Salesforce LWC学习(三十八) lwc下如何更新超过1万的数据
背景: 今天项目组小伙伴问了一个问题,如果更新数据超过1万条的情况下,有什么好的方式来实现呢?我们都知道一个transaction只能做10000条DML数据操作,那客户的操作的数据就是超过10000 ...
- 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除
目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...
- bp(net core)+easyui+efcore实现仓储管理系统——入库管理之二(三十八)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
随机推荐
- Access分页语句
一.双TOP法高效率的Access分页的SQL语句,语法格式: SELECT * FROM (SELECT TOP "&pagesize&" * FROM (SEL ...
- Java Web学习笔记之---JSP
Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...
- MySQL JOIN 多表连接
除了常用的两个表连接之外,SQL(MySQL) JOIN 语法还支持多表连接.多表连接基本语法如下: 1 ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON ...
- 文件的上传与下载实现(react、express,create-react-app脚手架)
项目结构为前后端分离,中间布了一层node. 文件上传 要求:将文件信息等发送到后台. html代码 <input type="file" name="file&q ...
- 【数据库】一篇文章搞掂:Oracle数据库
PL/SQL的使用 1.安装使用 1.1.安装暂略 1.2.使用 添加环境变量 打开PL/SQL,不要登录,进入界面后,打开设置Preference 设置主目录和OCI库
- (转)用Flink取代Spark Streaming!知乎实时数仓架构演进
转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...
- MySQL innodb的组合索引各个列中的长度不能超过767,
MySQL索引的索引长度问题 MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制. 在MyISAM表中,创建组合索引时,创建的索引长度不能超过1000,注意这里索 ...
- HDU6668 Polynomial(模拟)
HDU6668 Polynomial 顺序遍历找出最高次幂项的系数 分三种情况 \(1/0\).\(0/1\).\(f(x)/g(x)\) . 复杂度为 \(O(n)\) . #include< ...
- Linux 中设置进程通过 systemctl 启动
对于某些脚本或需要启动命令的程序,可以通过创建 xx.service 服务文件来使用 systemctl 控制. 例如,对于 docker-compose,其后台启动且忽略输出信息的命令为: $ no ...
- android button click事件
package a.a; import android.app.Activity;import android.os.Bundle;import android.view.View;import an ...