博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
v-text,v-html,v-bind
阅读量:6918 次
发布时间:2019-06-27

本文共 2771 字,大约阅读时间需要 9 分钟。

转自:

1. v-text

作用 : 操作元素中的纯文本

快捷方式 : {
{}}

栗子1

简写形式:将v-text=""换成{

{}}

{
{ message }}
var app = new Vue({ el : '#app', data : { message : 'hello world' } })

结果:hello world

栗子2

var app1 = new Vue({ el : "#app1", data : { year : new Date().getFullYear(), month : new Date().getMonth()+1 } })

结果:今天是2017年5月

等同于:<h1 id="app1">今天是{
{year}}年{
{month}}月</h1>

  1. 这里v-text="",双引号并不是代表字符串,而是vue自定义的划定界限的符号。如果我们里边输出字符串,就要在里边再添加一对单引号。而且经测验,要想输出字符串,必须添加单引号,否则会报错
  2. 这里month默认是从0开始的,所以我们要+1
  3. 这里{
    {}}代表的就是"",所以在v-text=""中,我们在内容里边就不需要再写{
    {}}了,直接写data值就行
栗子3

{
{ message }}

{
{ message.concat('!!!') }}

{
{ message? 'has message' : 'no message' }}

下面这两个语句报错

{ { var message = 'message' }}

{ { if(message){ return info} }}

var app = new Vue({ el : '#app', // 绑定了上边的id='app'的元素 data : { message : 'hello' } })

结果:

  hello
  hello!!!
  has message
  第四五句报错

{

{}}里边支持表达式
但不是所有的表达式都能放在里边,只有单个语句的可以,像var和if就不可以
如果想使用if语句的话,用三元运算符代替

栗子4

可以采用对象的形式传递多个数据

姓名 : { { person.name }}

性别 : { { person.sex }}

年龄 : { { person.age }}

var app2 = new Vue({ el : "#app2", data : { person : { name : '小明', sex : '男', age : 8 } } })

结果:

 姓名 : 小明
 性别 : 男
 年龄 : 8

 
 

补充一点:

用{

{}}的弊端:当网速很慢或者下面的JavaScript写错时,会直接将{
{message}}渲染到页面
而使用v-text="message" 如果出错是不显示的
所以在实际开发中用v-text比较多

2. v-html

作用 : 操作元素中的HTML标签

v-text会将元素当成纯文本输出,v-html会将元素当成HTML标签解析后输出

栗子1
{
{ message }}
var app3 = new Vue({ el : "#app3", data : { message : "[图片上传失败...(image-b28bd8-1533127932697)]" } })

结果:输出代表图片名称的字符串,而不是将图片输出

由此可见:{
{}}/v-text不能解析html元素,只会照样输出

栗子2
var app3 = new Vue({ el : "#app3", data : { message : "[图片上传失败...(image-6734f-1533127932697)]" } })

结果 : 成功显示图片

 
3.gif

注意 : 你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容插值。

3. v-bind

作用 : 绑定标签属性,:后面是标签属性名

栗子1
var app = new Vue({ el : "#app", data : { hrefvalue : 'http://www.baidu.com', source : 'img/1.jpg' } })
 
5.gif
栗子2
鼠标悬停几秒钟查看此处动态绑定的提示信息!
var app2 = new Vue({ el : '#app2', data : { message : '页面加载于' + new Date() } })

 

 

 
 
 
补充v-bind小例子
根据条件判断绑定
绑定多个class值,数组
绑定三元运算符

绑定style
对象方式绑定style
var app = new Vue({    el : "#app", data : { imgSrc : "./img/dele.jpg", webUrl : "www.baidu.com", className : "a", isOk : true, classA : 'a', classB : 'b', red : 'red', font : '30px', styleObject : { // 将style写成对象写法 color : 'orange', fontSize : '40px' } } })
转自:https://www.jianshu.com/p/4131e8b033de

转载于:https://www.cnblogs.com/JAVA-STUDYER/p/10845863.html

你可能感兴趣的文章
swift4.0 CAKeyframeAnimation动画使用
查看>>
Python3入门机器学习 - 模型泛化
查看>>
检测浏览器支持css3D转换
查看>>
我来悟微服务(2)-惊魂一刻
查看>>
Django学习笔记-Ajax
查看>>
Java 12 / JDK 12 正式发布
查看>>
分享一个 计算机网络基础知识的总结导图——系统架构师考试在路上
查看>>
IBM 向所有云平台开放旗下 Watson AI 服务
查看>>
OkHttp3源码解析(一)之请求流程
查看>>
微服务框架 Micronaut 1.1.0 发布 RC2 候选版
查看>>
DiQuick Web UI 框架 V1.3 正式版发布
查看>>
Sublime自定义vue组件代码段
查看>>
qt5.8_for_vs2015 and openssl静态编译
查看>>
网易工业级WebRTC应用实践深度解析
查看>>
打造最舒适的内衣品牌,Ubras 完成A轮融资
查看>>
使用命令扩展vmdk磁盘空间
查看>>
获取大数据计算通关秘籍,拥有全新一代计算引擎免费试用权益
查看>>
Android自定义控件零基础简述「JAVA,基础」
查看>>
以太坊智能合约开发环境搭建以及第一个Dapp
查看>>
配置firewalld防火墙
查看>>