vue在html使用
1.Vue:
定义:渐进式JavaScript框架
渐进式:
定义:声明渲染 组件系统 客户端路由 集中式状态管理 项目构建
2.MVVM
| 定义 | |
|---|---|
| M | Model(服务器上的业务逻辑操作) |
| V | View(页面) |
| MV | ViewModel(Model与View之间核心枢纽,比如Vue.js) |
3.指令: 指令的本质是自定义属性
4.闪动
问题产生:出现模版语法{{msg}}
解决思路:使用v-cloak指令
解决问题原理:先隐藏,替换好值之后在显示
demo

code
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
<div v-cloak>
{{msg}}
</div>
</div>
<style type="text/css">
[v-cloak]{display: none;}
</style>
<script type="text/javascript" src="js/vue.js">
</script>
<script type="text/javascript">
var vu = new Vue({
el:"#app",
data:{
msg:"hello vue"
},
});
</script>
</body>
</html>
5.数据绑定指令
v-text:填纯文本,属于html片段
v-html:填写html,属于完整html
v-bind:填写属性,属于html片段
v-pre:如果原始数据,跳过编译
v-once:如果显示的信息后续不需要再修改,使用v-once,这样可以提高性能。
demo:

code
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
<div v-text="msg"></div>
<div v-html="html"></div>
<a v-bind:href="link1">这是v-bind</a>
<div v-pre>{{preInfo}}</div>
<div v-once>{{onceInfo}}</div>
</div>
</body>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
link1:"https://www.cnblogs.com/MDD-Blog/",
img:"./img/logo.png",
msg:"这是v-text",
html:"<h1>这是v-html</h1>",
preInfo:"这是v-pre",
onceInfo:"这是v-once"
},
});
</script>
</html>
6.双向数据绑定
原理:v-model ----> vue ----> data{k:v,}
demo

code
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="app">
<div v-text="msg"></div>
<input type="text" v-model="msg"/>
</div>
<script type="text/javascript" src='js/vue.min.js'></script>
<script type="text/javascript">
var vm = new Vue({
el:".app",
data:{
msg : "hello world",
message: "hello vue",
},
});
</script>
</body>
</html>
7.事件绑定
v-on:事件名="方法" 事件名:点击: click 移动: mouseenter 双击: dbclick
demo1: 事件函数调用

code:事件函数调用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="app">
<div> {{num}} </div>
<button v-on:click="add()">1.加一</button>
<button v-on:click="reduce">减一</button>
</div>
<script type="text/javescript" src='js/vue.min.js'>
</script>
<script type="text/javascript">
var vm = new Vue({
el:".app", /* 元素的挂载位置 */
data:{
num:15,
}, /* 模型数据(值是一个对象) */
methods:{
add:function(){
this.num++
},
reduce:function(){
this.num--
}
}
});
</script>
</body>
</html>
demo2: 事件函数传参

code:事件函数传参
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="app">
<div> {{num}} </div>
<button v-on:click="add">1.加一</button>
<button v-on:click="reduce(2, $event)">减二</button>
</div>
<script type="text/javescript" src='js/vue.min.js'>
</script>
<script type="text/javascript">
var vm = new Vue({
el:".app", /* 元素的挂载位置 */
data:{
num:15,
}, /* 模型数据(值是一个对象) */
methods:{
add:function(event){
// 这里 this 是 vue 的实例对象
console.log(event.target.innerHTML)
this.num++
},
reduce:function(num2, e){
this.num-=num2
}
}
});
</script>
</body>
</html>
注意:
<button v-on:click="reduce(2, $event)">减二</button> // $event为事件参数必须放到末尾
v-if
<div id="app">
<div v-if="name === 'a'">
a
</div>
<div v-else-if="name === 'b'">
b
</div>
<div v-else-if="name === 'c'">
c
</div>
<div v-else>
不是a或b或c
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
name: 'c'
}
})
</script>
v-show
code:
<h1 v-show="ok">Hello!</h1>
v-if和v-show的区别
v-if :每次都会重新删除或者创建元素
v-show:每次不会重新进行DOM元素的删除和创建操作,只是切换了元素的 display:none 样式
v-for
demo:

code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
<div >
<label>ID:
<input type="text" v-model="id" />
</label>
<label>NAME:
<input type="text" v-model="name" />
</label>
<input type="button" v-on:click="add" value="添加"/>
</div>
<p v-for="item in infos" v-bind:key="item.id">
<input type="checkbox" />
{{ item.id }}
</p>
</div>
</body>
<script type="text/javascript" src='js/vue.js'></script>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
id:"",
name:"",
infos:[
{id:1,name:"11"},
{id:2,name:"22"},
{id:3,name:"33"},
{id:4,name:"44"},
],
},
methods:{
add:function(){
// 列表尾部添加
// this.infos.push({id:this.id, name:this.name})
// 列表头部添加
this.infos.unshift({id:this.id, name:this.name})
},
}
})
</script>
</html>
vue在html使用的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- 初探Vue
Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...
随机推荐
- Spring-Boot项目中配置redis注解缓存
Spring-Boot项目中配置redis注解缓存 在pom中添加redis缓存支持依赖 <dependency> <groupId>org.springframework.b ...
- 使用Folx智能速控功能,确保带宽资源的合理分配
市面上的大部分下载软件,都会配备速度控制的功能,用于限制下载任务的带宽占用.但除此之外,Folx专业版还提供了更加智能化的速度控制功能,用户可以为速控指定更加详细的条件,比如程序限制条件.时间限制条件 ...
- word查找与替换
------------恢复内容开始------------ 如何快速删除大量空格键:查找和替换-更多-特殊格式-查找内容[特殊格式(段落标记)]设置为(^p^p,即点击两次段落标记),替换设置为(^ ...
- linkedin第三方登陆
到linkedin注册成为开发者:https://developer.linkedin.com/zh-cn 成功后,创建应用,填写重定向地址,得到appid和appkey 使用这个sdk https: ...
- Happen-Before规则
- [TroubleShootting]Zabbix数据采集出现断点的问题
背景 最近发现公司的Zabbix监控大屏上的监控图经常出现数据断点的现象,主要集中在一些自定义的监控项数据上,如下图: 原因 查看Zabbix Server日志以及zabbix官方手册后,分析可能原因 ...
- 机场&代理商-关系图
机场&代理商-关系图 思路 ①首先统计机场活跃度Top10的机场名称,以下是我的表结构,以及查询语句 表结构: 查询语句:SELECT * from 2020csale ORDER BY cn ...
- 02_启动和销毁Service
在Application关闭后,Service仍然会运行. package com.example.servdemo; import android.app.Activity; import andr ...
- 一万字详解 Redis Cluster Gossip 协议
Redis Cluster Gossip 协议 大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示. 集群模式和 Gossip 简介 ...
- 【2020.11.28提高组模拟】T2 序列(array)
序列(array) 题目描述 给定一个长为 \(m\) 的序列 \(a\). 有一个长为 \(m\) 的序列 \(b\),需满足 \(0\leq b_i \leq n\),\(\sum_{i=1}^ ...