看了一些友邻写的文章,不少是基于1.0版本的,有些东西在2.x版本应该已经废除了(如属性插值、单次插值在2.x版本上运行根本不执行)。对于不理解的东东,找起资料来就更麻烦了。不得不老老实实线下测试并整理记录:

1.文本插值
官网文档的文字解释看的好没意思,不给栗子让人咋整:

v-once指令的用法应该与1.0版本的单次插值是一个意思。

完整示例如下图所示,Vue下的data中message里的内容只会被当做文本输出到页面,即使这样写也同样会直接输出,并不会被当作HTML标签解析:message: '<b>Hello Vue.js!</b>',页面输出就是:<b>Hello Vue.js!</b>。

2.纯 HTML
官网文档注释如下,看完一头雾水。照例找了个栗子出来看了看:

栗子代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
<div v-html="message"></div>
<div v-html="login"></div>
</div> <script>
new Vue({
el: '#app',
data: {
message: '<h1>菜鸟教程</h1>',
login: '<input type="button" value="登录" >'
}
})
</script>
</body>
</html>

代码与页面效果对照着看:使用 v-html 指令用于输出 html 代码:直接在需要操作的元素上添加v-html属性,属性值为Vue数据data中定义的属性名。

再看下页面是怎么解析的,如下图:

到这里,使用Vue.js向HTML页面中插入HTML元素算是理解了。

3.属性

经过前面两个的理解,偶知道了使用Vue.js操作HTML元素的属性需要使用v-bind指令;但是不明白v-bind咋使用的,也不明白后面那句“这对布尔值的属性也有效 —— 如果条件被求值为 false 的话该属性会被移除”。照例找栗子看代码:

查看栗子并测试后发现,v-bind指令可以用来设置元素的属性是否显示及显示后的属性值,以下图为例:

1)、如果data下的class1属性值设置为0或false,则div的class没有属性值,即为空;

2)、如果data下的class1属性值设置为1或true,则div的class值为class1;

3)、v-bind:class="{'类名class1':data中的class1}",这么设置元素的class是没问题的,可是改成其他的就不行,比如加一个设置id的,解析后代码却是这样的:

为毛class值正常,id值却显示的是[object Object]?(先留着明天再试试看:今天有小伙伴提醒看看关于JSON.stringify的知识。看到后面疑团解开了,如下面第二张图所示)


4.使用 JavaScript 表达式

还是先看一遍官网文档,依然需要栗子:

使用js表达式的插值方式如下图所示:

运行后页面显示:4 10 2;OK,这里疑问不大,到这里算是明白了:使用JavaScript表达式进行插值时只能使用单个有效的表达式才能生效。

Vue.js(2.x)之插值的更多相关文章

  1. Vue.js高效前端开发 • 【初识Vue.js】

    全部章节 >>>> 文章目录 一.Vue概述 1.Web前端框架介绍 2.MVC和MVVM 3.Vue介绍 4.安装Vue 二.Vue使用 1.第一个Vue应用 2.Vue的双 ...

  2. vue.js学习笔记

    有了孩子之后,元旦就哪也去不了了(孩子太小),刚好利用一些时间,来公司充充电补补课,学习学习新技术,在这里做一个整理和总结.(选择的东西,既然热爱就把他做好吧!). 下来进入咱们的学习环节: 一.从H ...

  3. Vue.js——60分钟快速入门

    Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们 ...

  4. vue.js 第四课

    (1).插值:在view层上显示model的资料. (2).绑定表达式:在view层上 执行js命令. (3).指令:在view层上 执行写好的功能. (4).缩写:v-bind 绑定 特性 v-on ...

  5. Vue.js:轻量高效的前端组件化方案

    转发一篇尤老师对vue.js的介绍,了解vue.js的来龙去脉.不过现在已经是2.0了,也有添加一些新的东西,当然有些东西也改了. Vue.js:轻量高效的前端组件化方案 Vue.js 是我在2014 ...

  6. vue.js慢速入门(1)

    0.MVVM 什么是MVVM?就是Model-View-ViewModel. ViewModel是Vue.js的核心,它是一个Vue实例. 不太懂也没关系,慢慢就懂了. 1.基础示例 代码: < ...

  7. Vue.js起手式+Vue小作品实战

    本文是小羊根据Vue.js文档进行解读的第一篇文章,主要内容涵盖Vue.js的基础部分的知识的,文章顺序基本按照官方文档的顺序,每个知识点现附上代码,然后根据代码给予个人的一些理解,最后还放上在线编辑 ...

  8. 【vue.js权威指南】读书笔记(第二章)

    [第2章:数据绑定] 何为数据绑定?答曰:数据绑定就是将数据和视图相关联,当数据发生变化的时候,可以自动的来更新视图. 数据绑定的语法主要分为以下几个部分: 文本插值:文本插值可以说是最基本的形式了. ...

  9. Vue.js——60分钟快速入门

    Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们 ...

随机推荐

  1. sklearn交叉验证法(Cross Validation)

    import numpy as np from sklearn import datasets from sklearn.cross_validation import train_test_spli ...

  2. storm定时器timer源码分析-timer.clj

    storm定时器与java.util.Timer定时器比较相似.java.util.Timer定时器实际上是个线程,定时调度所拥有的TimerTasks:storm定时器也有一个线程负责调度所拥有的& ...

  3. Entity Framework Code-First(9.10):DataAnnotations - NotMapped Attribute

    DataAnnotations - NotMapped Attribute: NotMapped attribute can be applied to properties of a class. ...

  4. es6基础系列五--数组的拓展

    Array.from() 用于将两类对象转为真正的数组,类似数组对象和可遍历对象(包括数据结构Set和Map)转化为数组 格式:Array.from(arrayLike[, mapFn[, thisA ...

  5. 会话临时表 ORA-14452

    需要使用Oracle的临时表,向其中插入记录,用完后再删除.但是后来发现临时表的删除总是失败,返回错误: ORA-14452: attempt to create, alter or drop an ...

  6. 7.24实习培训日志-Docker-Compose

    Docker-Compose 对于昨天的考试,需要 项目根目录下需要docker/mysql/Dockerfile 文件用于构建mysql镜像 项目根目录下需要docker/java/Dockerfi ...

  7. [亂數] <細說> C/C++ 亂數基本使用與常見問題

    陸陸續續寫了 EA  一.二年,以前亂數引導文回頭看時才發現,怎麼有這麼多細節的錯誤.沒系統. 這篇文章主要引導初學者使用亂數,同時附上常被翻出來討論的議題,C/C++適用,唯以 C 語言撰之. 也由 ...

  8. 微信小程序自学第四课:数据绑定

    WXML 中的动态数据均来自对应 Page 的 data. 一.简单绑定 数据绑定使用 Mustache 语法(双大括号)将变量包起来,可以作用于: 1.内容 <view> {{ mess ...

  9. GridView 高亮某一行

    <script type="text/javascript"> $(document).ready(function () { $("#GridView tr ...

  10. JS的几条规则

    总结一下,有这么几条规则需要遵守: 不要使用new Number().new Boolean().new String()创建包装对象: 用parseInt()或parseFloat()来转换任意类型 ...