v-bind和v-model的本质区别和作用域
每篇一句
一场寂寞凭谁诉。算前言,总轻负。
Vue视图数据展示方式和彼此的区别:
{{插值表达式}}
- {{}}插值表达式里面 只能写表达式,不能写语句
- 文本输出,不会解析标签
- 不能作用在标签的属性上,设置属性值,只能用于标签内部用于显示数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>入门案例</title>
<!--引入vue-->
<script src="js/vue.js"></script>
</head>
<body>
<!--view视图展示数据-->
<div id="app">
<!--{{插值表达式}} vue显示数据方式-->
{{message}} ======{{number+1}}===={{flag ? "真":"假"}}
</div>
</body>
<!--模型-->
<script>
var vue = new Vue({
el:"#app", //将id为app的区域 交给vue管理
data:{
message:"hello vue .....", //声明初始化模型数据
number:18,
flag:false
},
methods:{
//所有方法
}
})
</script>
</html>
v-text和v-html
- v-text不会解析标签,只能解析文本
- v-html会解析标签,之后显示
- 两者只能作用域属性上,是一种属性修饰符,不能写在标签体内
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-text和v-html.html</title>
<script src="../js/vuejs-2.5.16.js"></script>
</head>
<body>
<div id="app">
插值表达式不会解析标签<br>
{{message}}
<hr>
v-text:不会解析html,只能解析文本
<div v-text="message"></div>
<hr>
v-html : 可以解析标签和文本
<div v-html="message"></div>
<hr>
不能写在标签体内
<div> v-html="message"</div>
</div>
</body>
<script>
var vm = new Vue({
el: "#app",
data: {
message: "<h1>Hello VUE</h1>"
}
});
</script>
</html>
v-bind
- 只能作用域属性上,是一种属性修饰符
- 省略写法是
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-bind</title>
<script src="../js/vuejs-2.5.16.js"></script>
</head>
<body>
<div id="app">
<h1 style="text-align: center">插值表达式不能作用在标签的属性上,遇到这种情况就要使用v-bing</h1>
<font size="5" v-bind:color="ysl">坚持下去!</font>
<font size="5" :color="ysl2">坚持下去!</font>
<hr>
<a v-bind={href:"http://www.baidu.com/"+info}>百度搜索java</a><br>
<a :href="address">京东</a>
</div>
</body>
<script>
var vm = new Vue({
el:"#app",
data:{
ysl:"red",
ysl2:"green",
info:"s?wd=java",
address:"http://www.jd.com"
}
});
</script>
</html>
还有一种特殊的:v-model数据双向绑定
- 前面的都只能显示vue对象中数据, 页面数据的变化不会影响vue对象中的数据
- 而v-model绑定的数据,页面数据的改变,vue对象中的数据也会跟着改变,这非常关键
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-model</title>
<script src="../js/vuejs-2.5.16.js"></script>
</head>
<body>
<div id="app">
<h1>需求:使用vue赋值json数据,并显示到页面的输入框中(表单回显)。
点击提交按钮,改变json数据,验证同时输入框的内容也发生改变。
</h1>
插值表达式: {{user.username}} ,{{user.password}} <br>
v-model 双向绑定,输入的值会改变模型的值:<input type="text" v-model="user.username"> <br>
v-bind 单向绑定,输入的值不会改变模型的值:<input type="text" v-bind:value="user.username"> <br>
v-model 密码:<input type="text" v-model="user.password"> <br>
<input type="button" @click="fun()" value="按钮(改变模型的值)"> <br>
</div>
</body>
<script>
var vm = new Vue({
el:"#app",
data:{
user:{
username:"路飞",
password:"123456"
}
},
methods:{
fun:function () {
alert(this.user.username+" "+this.user.password);
this.user.username="佐助";
this.user.password="666666";
}
}
});
</script>
</html>
v-bind和v-model的本质区别和作用域的更多相关文章
- 启动服务报错:nested exception is java.lang.NoSuchMethodError: org.apache.cxf.common.jaxb.JAXBUtils.closeUnmarshaller(Ljavax/xml/bind/Unmarshaller;)V
1.启动tomcat时报错:Error creating bean with name 'payInfService': Invocation of init method failed; neste ...
- What is the difference between Reactjs and Rxjs?--React is the V (View) in MVC (Model/View/Controller).
This is really different, React is view library; and Rxjs is reactive programming library for javasc ...
- 【转】HTTP POST GET 本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的 ...
- HTTP POST GET 本质区别详解
HTTP POST GET 本质区别详解 一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Ht ...
- 转-HTTP POST GET SOAP本质区别详解
原文链接:HTTP POST GET SOAP本质区别详解 一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认 ...
- httpServeltRequest和Model传值的区别
需要将请求发过来的数据(或者说参数)传递到重定向的页面/转发的页面的时候,就要用到>>model.addAttribute("mine", UserUtils.getC ...
- 【转载】HTTP POST GET SOAP本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的 ...
- 转:oracle几组重要的常见视图-v$latch,v$latch_children,v$lock,v$locked_object
v$latch Oracle Rdbms应用了各种不同类型的锁定机制,latch即是其中的一种.Latch是用于保护SGA区中共享数据结构的一种串行化锁定机制.Latch的实现是与操作系统相关的, 尤 ...
- oracle 入门笔记--v$sql和v$sqlarea视图(转载)
转载于作者:dbtan 原文链接:http://www.dbtan.com/2009/12/vsql-and-vsqlarea-view.html v$sql和v$sqlarea视图: 上文提到,v$ ...
随机推荐
- centos下docker离线部署
安装准备 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化. 环境要求 Centos 安装包下载地址 安装包下载以下 ...
- 『题解』洛谷P4016 负载平衡问题
title: categories: tags: - mathjax: true --- Problem Portal Portal1:Luogu Portal2: LibreOJ Descripti ...
- 最新JetBrains PyCharm 使用教程--下载安装Python库(五)
最新JetBrains PyCharm 下载安装Python库
- Helm 3 发布 | 云原生生态周报 Vol. 27
作者 | 墨封.元毅.冬岛.敖小剑.衷源 业界要闻 1.Helm 3 发布 美国时间 11 月 13 日,Helm 团队发布 Helm 3 第一个稳定版本.Helm 3 以 Helm 2 的核心特性为 ...
- 大数据HDFS相关的一些运维题
1.在 HDFS 文件系统的根目录下创建递归目录“1daoyun/file”,将附件中的BigDataSkills.txt 文件,上传到 1daoyun/file 目录中,使用相关命令查看文件系统中 ...
- python3.7.1安装Scrapy爬虫框架
python3.7.1安装Scrapy爬虫框架 环境:win7(64位), Python3.7.1(64位) 一.安装pyhthon 详见Python环境搭建:http://www.runoob.co ...
- CSS RESET —— 浏览器样式重置
CSS Reset 1. CSS Reset为什么存在? 只要您的客户存在使用不同浏览器(ie,firefox,chrome等)的可能,那你就不得不从完美的理想状态回到现实,因为不同核心的浏览器对CS ...
- Python第五天 列表练习 元组类型 字典类型 小购物车练习
# 反转 reverse# l=['lili','asdf','qwer','80000']# l.reverse()# print(l) # ['80000', 'qwer', 'asdf', 'l ...
- QTabWidget 头部背景色设置和QTabWidget 样式设置
1.问题:QTabWiget的头部背景色通过设置background-color属性没有生效,网上找了很多方法,也不生效. 2.解决办法:在Qt Designer中将autoFillBackgroun ...
- K8s & Openshift案例学习
1. openshift排错技巧:https://mp.weixin.qq.com/s?__biz=MzAwMDc2NjQ4Nw==&mid=2663494178&idx=1& ...