VUE的学习_从入门到放弃(一)
一、vue的功能及作用
- 工作方式如下
1.不用操作DOM
2.单页面应用web项目 简称:SPA
3.当下各种新框架都采用的类似Vue或者类似React的语法去作为主语法,微信小程序/MpVue......
4.掌握Vue的开发语法,相当于掌握了新的开发模式,可以适应目前绝大多数的技术环境
- Vue特点
1.数据驱动视图,可以让我们只关注数据
2.MVVM双向绑定
3.通过指令增强了html功能
4.组件化,复用代码
5.开发者一般只关注数据
- Vue的安装及使用
1.直接通过路径引入,地址:https://vuejs.org/js/vue.min.js
2.直接下载在本地引入
3.采用npm安装的方式,命令:npm install vue
提示:注意Vue.js不支持IE8及其以下版本
示例demo:
<script src="https://vuejs.org/js/vue.min.js"></script>
<div id="app">
{{msg}}
</div> <script>
var vm = new Vue({
//el可以使用id选择器、calss选择器、dom对象
//el不能尝试使用html以及body
el:document.getElementById("app"),
data: {
msg:"Hello world!" },
});
</script>
在插值表达式中使用js表达式、三元运算符、方法调用 -->
<p>{{string}}</p>
<p>{{count == 100}}</p>
<p>{{count < 100}}</p>
<p>{{count+10}}</p>
<p>{{string.split("|")}}</p>
<p>{{count < 100?"小于":“大于}}</p>
指令--凡是以v-开头的都叫vue指令
- v-text和v-html 与 innerText和innerHTML相比较
- 插值表达式 1.是插入时的数据渲染 2.尚未渲染完成时会出现丑丑的大括号
- v-text、v-html是整体式的数据替换 2.尚未渲染完成时不会出现东西(渲染标签中事先有内容除外)
- 注意,非必要时尽量不要使用或者禁止使用v-html,因为会有xss跨站脚本攻击
<div id="app">
<p v-text ="string"> 1236</p>
<p v-html ="string">46413</p>
</div>
- v-if 更大的开销 适用于不平凡切换显示状态,并且初始渲染时不必渲染,多重判断时适合使用
- v-show 开销较小 适用于平凡切换显示状态
<p v-if ="isShow"> {{string}}</p>
<p v-show ="isShow">{{46413}}</p>
- v-on :click 简写(@click)
- @click.once只触发一次
- click.prevent 阻止默认事件
- click.stop 阻止冒泡事件
<button v-on:click="clickMe('Ultraman')">点击我</button>
<!-- click.once 只会触发一次 -->
<button @click.once="clickOnce">只触发一次</button>
<!-- click.prevent 阻止默认事件 -->
<a href="http://www.baidu.com" @click.prevent="stopjump">百度</a>
<div @click="alert(1)">
<!-- click.stop 阻止冒泡事件 -->
<div>
<div @click.stop="alert(3)">
我是div
</div>
</div>
</div>
- input标签 change v-bind模拟v-model的底层
<input type="text" @change="change">
<input type="text" v-bind:value="string" @input="inputChange($event)">
change(){
alert("数据改变了");
},
inputChange(e){
console.log("变了");
this.string = e.target.value;
}
- v-for 迭代;循环
<ul>
<!-- array是需要渲染的对象 而item是每次接受迭代对象的别名 -->
<li v-for="item in array">{{item}}</li>
<!-- 始终记住,第一个参数是获取每次迭代的数据,第二个参数看实际情况,如果是迭代数组,则为数组的索引 -->
<li v-for="item in objectArray">{{item.id}}----{{item.name}}</li>
<!-- 如果是迭代对象,则顺序不同,第一个参数是属性的value,第二个参数为属性的key,第三个参数才是索引 -->
<li v-for="obj in object">{{boj}}</li>
<li v-for="(v,k,i) in object">{{k}}--{{v}}--{{i}}</li>
<!-- for循环 -->
<li v-for="num in 10">{{num}}--指定数据</li>
</ul>
- v-bind 其作用是绑定标签上的所有属性
- 当标签上的属性变量或者动态的亦或需要改变的
- 简写“:”
<p v-bind:id="'ptest'"></p>
<p :id="idName"></p>
<p :class="showStyle?'p-style1':''">pppppp</p>
<p :class="'p-style1':showStyle">pppppp</p>
<p :class="'[bolder',showStyle?'p-style1':'p-style2']">pppppp</p>
<p :class="'[bolder',{'p-style1':'p-style2'}]">pppppp</p>
<p :style="color:'red'">ppppppp</p>
<button @click="changeColor">变色</button> CSS
<style>
.p-style1{
background-color: aquamarine;
color:red;
}
.p-style2{
background-color: aquamarine;
color:red;
}
</style>
- v-model、v-cloakd和v-once的作用
<div id="app" v-cloak>
{{msg}}
{{range}}
<br>
<!-- v-model 可以处理input、textArea、select、radio、checkbox、botton -->
<!-- c-cloak cue中自带的指令,作用是当加载完成后移除指令的属性 即,我们希望任何没有在加载完成前呈现的样式都可通过v-cloak呈现-->
<!-- v-once 使用该指令,页面视图只渲染一次 -->
<!-- <input type="text" :value="msg" @input="changeInput($event)"> -->
<input type="text" v-model="msg">
<input type="text" v-model="range">
<input type="range" v-model="range">
</div>
<script>
setTimeout(function(){
var vm = new Vue({
el:"#app",
data: {
msg:"Hello",
range:100
},
methods: {
changeInput(e){
this.msg = e.target.value;
}
},
});},5000)
至此,Vue的第一节就结束啦,如果你觉得有用,点个赞吧!
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐];
如果您想转载本博客,请注明出处;
如果您对本文有意见或者建议,欢迎留言;
感谢您的阅读,请关注我的后续博客。
VUE的学习_从入门到放弃(一)的更多相关文章
- webpack 配置 Vue 多页应用 —— 从入门到放弃
webpack 配置 Vue 多页应用 -- 从入门到放弃 一直以来,前端享有无需配置,一个浏览器足矣的优势,直到一大堆构建工具的出现,其中 webpack 就是其中最复杂的一个,因此出现了一个新兴职 ...
- Vue快速学习_第一节
之前写CRM都是Django前后端一起写的,在大部分项目中实际上前后端是分离的,因此我们需要学习一个前端框架来进行前端页面的编写,这里选择了Vue进行学习,好了开始学习吧. 1.ES6部分知识点学习 ...
- 4.Docker容器学习之Dockerfile入门到放弃
原文地址: 点击直达 0x01 Dockerfile 编写 描述:Dockerfile是一个文本格式的配置文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内 ...
- Vue.js学习 Item1 --快速入门
我们以 Vue 数据绑定的快速导览开始.如果你对高级概述更感兴趣,可查看这篇博文. 尝试 Vue.js 最简单的方法是使用 JSFiddle Hello World 例子.在浏览器新标签页中打开它,跟 ...
- Vue快速学习_第二节
表单输入绑定(v-model) v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定(注意只在表单这几个可 ...
- Vue快速学习_第三节
过滤器 局部过滤器(组件内部使用的过滤器,跟django的很像, filters: {过滤器的名字: {function(val, a,b){}}} 全局过滤器(全局过滤器,只要过滤器一创建,在任何组 ...
- Vue快速学习_第五节
axios安装及使用 网站文档地址:https://www.kancloud.cn/yunye/axios/234845 1.npm安装 cnpm install axios 2.// 在main.j ...
- Vue快速学习_第四节
获取原生的DOM方式($.refs) 给标签或者组件 添加ref <div ref = 'liu'>test</div> <Home ref = 'home'>&l ...
- 自学vue第二天,从入门到放弃(生命周期的理解)
生命周期的理解 beforeCreate 创建前 数据还没有监听,没有绑定到vue对象实例,同时也没有挂载对象 没有数据也没有方法 created 在创建后 数据和方法已经 data数据已经绑定好了 ...
随机推荐
- MapStruct对象转换
第一次看到 MapStruct 的时候, 我个人非常的开心.因为其跟我内心里面的想法不谋而合. 1 MapStruct 是什么? 1.1 JavaBean 的困扰 对于代码中 JavaBean之间的转 ...
- HongYun-ui搭建记录
vue项目windows环境初始化 Element-ui使用 vue2 页面路由 vue SCSS 在VUE项目中使用SCSS ,对SCSS的理解和使用(简单明了) vue axios vue coo ...
- Linux:sqlldr命令
第一步:写一个 ctl格式的控制文件 CTL 控制文件的内容 : load data --1. 控制文件标识 infile 'xxx.txt' --2. 要导入的数据文件名 insert into t ...
- 【Linux】【Services】【KVM】安装与简单配置
1. 环境: 1.1. OS: Red Hat Enterprise Linux Server release 7.4 (Maipo) 1.2. Kernel: 3.10.0-693.el7.x86_ ...
- JS - 字符串转换成数组,数组转换成字符串
1.字符串转换成数组: var arr = "1, 2, 3, 4, 5, 6"; arr.split(","); // ["1",&quo ...
- 机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)
参考链接:https://www.cnblogs.com/Zhi-Z/p/8728168.html 具体更详细的可以查阅周志华的西瓜书第二章,写的非常详细~ 一.机器学习性能评估指标 1.准确率(Ac ...
- 沉淀vue相关知识(主要还是个人积累用)
路由懒加载的配置: const Home= () =>import('../components/Home') //使用ES6中的路由懒加载的方式 const About= () =>im ...
- Python列表简介和遍历
一.Python3列表简介 1.1.Python列表简介 序列是Python中最基本的数据结构 序列中的每个值都有对应的位置值,称之为索引,第一个索引是0,第二个索引是1,以此类推. Python有6 ...
- MySQL数据库行转列
一.数据源如下所示 二.对应SQL语句如下所示 -- 行转列 SELECT t1.`产品名称`, SUM(CASE t1.`日期` WHEN '2019-11-11' THEN t1.`数量` ELS ...
- Python 的切片为什么不会索引越界?
切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来复习一下关于切片的知识吧. 切片主要用于序列对象中,按照索引区间截取出一段索引的内容. 切片的书写形式:[i : i+ ...