Vue:学习笔记(三)-模板语法(1)

栏目: 编程语言 · 发布时间: 6年前

内容简介:忙了三周,又度过一个丰富的十一,现在腾出手来,继续我的学习和总结。最近找到了Vue的我对这里的理解是,模板是一种工具,它不需要你去查找元素,进行赋值等处理(传统的方式),而是进行了单向或者双向的绑定,这样你直接操作这个变量,就是在操作DOM中的那个元素(虚拟DOM树的概念),另外,模板会在合适的时候,进行渲染,这样减少因为频繁的渲染页面的抖动。最早接触这个概念是在对AngularJS的学习中,应该是AngularJS最早引入了这个概念。

忙了三周,又度过一个丰富的十一,现在腾出手来,继续我的学习和总结。最近找到了Vue的 中文网站 ,但是我不想放弃对英文网站的学习,那样可以更准确地理解原意,可以提高自己的英文水平,所以基于英文网站,对照着中文,这样来学习—-人还是应该有些追求。我发现一个问题,有的章节内容多,有的章节内容少,内容多的,可能一天总结不完,那就可能需要拆成几篇连续的笔记来记录了。

正文

模板语法

Vue.js uses an HTML-based template syntax that allows you to declaratively bind the rendered DOM to the underlying Vue instance’s data. All Vue.js templates are valid HTML that can be parsed by spec-compliant browsers and HTML parsers.   Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the reactivity system, Vue is able to intelligently figure out the minimal number of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.   If you are familiar with Virtual DOM concepts and prefer the raw power of JavaScript, you can also directly write render functions instead of templates, with optional JSX support.

我对这里的理解是,模板是一种工具,它不需要你去查找元素,进行赋值等处理(传统的方式),而是进行了单向或者双向的绑定,这样你直接操作这个变量,就是在操作DOM中的那个元素(虚拟DOM树的概念),另外,模板会在合适的时候,进行渲染,这样减少因为频繁的渲染页面的抖动。

插值(Interpolations)

最早接触这个概念是在对AngularJS的学习中,应该是AngularJS最早引入了这个概念。

文本

{{ msg }} ```
双大括号的语法,里面是插值的变量名,变量发生改变,这里也会同时发生改变。

`<span v-once>这个将不会改变: {{ msg }}</span>`
使用 `v-once` 指令,执行一次性地插值。

### 原始HTML

Using mustaches:

Using v-html directive:

双大括号里面包含的内容,会以纯文本的形式显示出来,不会交由浏览器去解释。
而想要浏览器去解释这些内容,则需要使用`v-html`,例如上例。
`rawHtml`的内容其实是```<span style="color: red">This should be red.</span>```,则上例的实际显示如下(这个例子原帖讲的有一点不清楚):

<p>Using mustaches: <span style="color: red">This should be red.</span></p>

Using v-html directive: <span><font color="red">This should be red.</font></span>(这里应该是红色,为了让这里显示红色,我还研究了一下MD语法,参考[这里](https://blog.csdn.net/liuhw4598/article/details/78279737))

不过一般不建议这么用,因为这样就太容易给[XSS](https://en.wikipedia.org/wiki/Cross-site_scripting)(跨站攻击,互联网最常见的一种攻击形式,将来有机会也会总结一下)攻击创造机会。

### 特性(attribute)
这一节其实应该叫属性,不过可能是为了和property区别,这里刻意翻译成了特性,其实是指HTML里面元素的属性,关于HTML元素的名、值、属性的关系可以参考早年写的一篇[帖子](https://blog.csdn.net/chaiyu2002/article/details/5967186),那篇讲的是XML,HTML其实一种特殊化的XML,原理是一样的。因为习惯了,以下我还是称呼这个为属性。

属性没法使用Mustache语法,所以就需要有新的指令(directive),指令也应该是AngularJS引入的一个概念,其实是可以被Vue解释的一些固定的字符串,可以接收参数,具有一定的功能。
`
这样 id 属性就和 dynamicId

绑定起来了。

不过,对于 disabled 属性,有点区别,只有当它为true的时候才会被渲染。


以上所述就是小编给大家介绍的《Vue:学习笔记(三)-模板语法(1)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

注意力商人

注意力商人

吳修銘 / 黃庭敏 / 天下雜誌 / 2018-4-2 / NT$650

電子郵件,免費!照片分享,無上限! 你是否想過,隨手可得的免費內容、便利的免費服務,到底都是誰在付費? 如果商品免費,那你就不是消費者,而是商品! 你我可能都不知不覺地把自己賣給了注意力商人! 「『媒體轉型、網路演化與資訊浪潮」此一主題最具洞見的作者。』──黃哲斌(資深媒體人) 「這是少有的關注產業發展的傳播史,對現在或未來的『注意力產業』」中人來說,不可不讀。」──......一起来看看 《注意力商人》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具