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数据已经绑定好了 ...
随机推荐
- github单独下载某一个文件夹
可以借助svn工具进行下载,实现只下载repo下的指定文件夹内容 背景 需要下载这个文件夹下所有内容https://github.com/rabbitmq/rabbitmq-tutorials/tre ...
- SVN终端演练(个人开发\多人开发)
SVN终端演练(个人开发) ### 1. 命令格式 命令行格式: svn <subcommand> [options] [args] svn 子命令 [选项] [参数] ...
- 【Linux】【Services】【SaaS】Docker+kubernetes(13. 部署Jenkins/Maven实现代码自动化发布)
1. 简介 Jenkins: 官方网站:https://jenkins.io/ 下载地址:https://jenkins.io/download/ war包下载:http://mirrors.jenk ...
- Activiti工作流引擎使用详解(一)
一.IDEA安装activiti插件 在插件库中查找actiBPM,安装该插件,如果找不到该插件,请到插件库中下载该包手动安装,插件地址 http://plugins.jetbrains.com/pl ...
- 【Java多线程】Java 中断
如何安全的结束一个正在运行的线程 java.lang.Thread类包含了一些常用的方法,如:start(), stop(), stop(Throwable) ,suspend(), destroy( ...
- angular过滤器在html和js中的使用
在HTML中使用格式为:{{数据 | 过滤器名称:条件一:条件二--}}:过滤条件间使用:隔开 例如: 在代码中一般格式为: 变量 = $filter("过滤器名称")(被过滤数 ...
- 【Matlab】xticks/xticklabels的用法
先说一下我自己的理解,这东西就是把原来的有的标签位置换成自己的标签名称,一般都是要手动设置看物理意义. https://ww2.mathworks.cn/help/matlab/ref/xticks. ...
- centos部署配置gogs代码仓库
目录 一.简介 二.部署 三.网页配置 一.简介 Gogs的目标是打造一个最简单.最快速和最轻松的方式搭建自助Git服务.使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的 ...
- Nginx安全检查
1.检查是否配置Nginx账号锁定策略 描述 1.执行系统命令passwd -S nginx来查看锁定状态 出现Password locked证明锁定成功 如:nginx LK ..... (Pass ...
- h5文件下载
// type1 await getFile(fileUrl).then((res) => { console.log('download',res); let bFile = window.U ...