# Vue 3 Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML 解析器解析。 ```{toctree} :caption: "Vue 3 语法入门" :maxdepth: 2 :numbered: :hidden: 响应数据 计算属性 路由 状态管理-Vuex ``` ```{toctree} :caption: "Vue 3 问题集" :maxdepth: 2 :hidden: 问题集1 <./question/q1> ``` ```{seealso} 推荐阅读 * [深入理解Vue.js实战--第二部分 Vue的正确使用方式](https://godbasin.github.io/vue-ebook/vue-ebook/9.html#_9-1-%E7%BC%96%E7%A0%81%E6%80%9D%E7%BB%B4%E8%BD%AC%E5%8F%98) ``` ## html 元素基础 ```{image} ./image/grumpy-cat-small.png :alt: grumpy-cat-small.png ``` 这个元素的主要部分有: - 开始标签(Opening tag):包含元素的名称(本例为 p),被大于号、小于号所包围。表示元素从这里开始或者开始起作用——在本例中即段落由此开始。 - 结束标签(Closing tag):与开始标签相似,只是其在元素名之前包含了一个斜杠。这表示着元素的结尾——在本例中即段落在此结束。初学者常常会犯忘记包含结束标签的错误,这可能会产生一些奇怪的结果。 - 内容(Content):元素的内容,本例中就是所输入的文本本身。 - 元素(Element):开始标签、结束标签与内容相结合,便是一个完整的元素。 ```{image} ./image/grumpy-cat-attribute-small.png :alt: grumpy-cat-attribute-small ``` 属性包含了关于元素的一些额外信息,这些信息本身不应显现在内容中。本例中,`class` 是属性名称,`editor-note` 是属性的值。`class` 属性可为元素提供一个标识名称,以便进一步为元素指定样式或进行其他操作时使用。 ## 文本插值 Content 最基本的数据绑定形式是文本插值,它使用的是“Mustache”语法 (即双大括号): ```{code-block} html Message: {{ msg }} ``` ## 计算属性 ## 属性 Attribute > HTML 中的元素拥有属性(attribute);这些额外的值可以配置元素或者以各种方式来调整元素的行为,进而满足用户所需的标准。 双大括号不能在 HTML attributes 中使用。想要响应式地绑定一个 attribute,应该使用 `v-bind` 指令 ```{code-block} html
``` ## 指令 Directives 指令是带有 `v-` 前缀的特殊 attribute。 **然而,如果存在自定义指定,那么就不一定可以通过前缀来判断,这个要根据各自项目的约定和实际上下文来判断。** //TODO: 指向一个用例用来说明