vue框架-基础1-vue包引入,指令,模板语言
2021/10/28 6:10:09
本文主要是介绍vue框架-基础1-vue包引入,指令,模板语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
vue学习
- 从官方文档学习
- https://cn.vuejs.org/v2/guide/index.html
vue介绍
Vue是一套用于构建用户界面的渐进式框架。 也就是可以边学习边开发,渐进式学习,关键在于应用 特点: 1,易于上手 2,是一种插件式的开发, 类似python中的flask,所以我喜欢使用flask+vue进行前后端分离的开发, 另外: 官方指南假设你已了解关于 HTML、CSS 和 JavaScript 的中级知识。
第一步,安装vue
安装方式1: 直接用 <script> 引入 直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。 安装方式2:cdn引入 <!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> 安装方式3, 在用 Vue 构建大型应用时推荐使用 NPM 安装。 NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用。 npm install vue 安装方式4,vue-cli Vue 提供了一个官方的 CLI,为单页面应用 (SPA) 快速搭建繁杂的脚手架。 CLI 工具假定用户对 Node.js 和相关构建工具有一定程度的了解。 如果你是新手,强烈建议先在不用构建工具的情况下通读指南,在熟悉 Vue 本身之后再使用 CLI。
helloworld
<!DOCTYPE html> <html> <head> <title>My first Vue app</title> <script src="https://unpkg.com/vue"></script> </head> <body> <div id="app"> {{ message }} </div> <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue liqian!' } }) </script> </body> </html>
- 声明式渲染
- 上面这种html里面有一个id,利用{{ }} 模板语法
- 然后再script里面新建一个vue,这里面进行了元素和数据绑定,
- 这种就是声明式的渲染,
- 我们已经成功创建了第一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,
但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被建立了关联,所有东西都是响应式的。
我们要怎么确认呢?打开你的浏览器页面并修改 app.message 的值,你将看到上例相应地更新。 - 注意我们不再和 HTML 直接交互了。
一个 Vue 应用会将其挂载到一个 DOM 元素上 (对于这个例子是 #app) 然后对其进行完全控制。
那个 HTML 是我们的入口,但其余都会发生在新创建的 Vue 实例内部。
第二步,指令v-bind
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My first Vue app</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> </head> <body> <div id="app"> {{ message }} </div> <div id="app-2"> <span v-bind:title="message"> page 鼠标悬停几秒钟查看此处动态绑定的提示信息! </span> </div> <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }); var app2 = new Vue({ el: '#app-2', data: { message: '页面加载于 ' + new Date().toLocaleString() } }) </script> </body> </html>
- 遇到了一点新东西。你看到的 v-bind attribute 被称为指令。指令带有前缀 v-
- 它们会在渲染的 DOM 上应用特殊的响应式行为。
- 该指令的意思:“将这个元素节点的 title attribute 和 Vue 实例的 message property 保持一致”。
条件v-if
html: <div id="app-3"> <p v-if="seen">现在你看到我了</p> </div> js: var app3 = new Vue({ el: '#app-3', data: { seen: true } })
- 很明显,可以通过seen: true或者false,进行控制是否显示
- 至于这个指令是如何运行的,怎么就能达到了这个效果,现在不去深究,后面再说
循环v-for
<div id="app-4"> <ol> <li v-for="todo in todos"> {{ todo.text }} </li> </ol> </div> var app4 = new Vue({ el: '#app-4', data: { todos: [ { text: '学习 JavaScript' }, { text: '学习 Vue' }, { text: '整个牛项目' } ] } })
- 很明显这是循环,很好
- 在控制台里,输入 app4.todos.push({ text: '新项目' }),你会发现列表最后添加了一个新项目。
处理用户输入v-on
<div id="app-5"> <p>{{ message }}</p> <button v-on:click="reverseMessage">反转消息</button> </div> var app5 = new Vue({ el: '#app-5', data: { message: 'Hello Vue.js!' }, methods: { reverseMessage: function () { this.message = this.message.split('').reverse().join('') } } })
- 为了让用户和你的应用进行交互,我们可以用 v-on 指令添加一个事件监听器,
通过它调用在 Vue 实例中定义的方法 - 注意在 reverseMessage 方法中,我们更新了应用的状态,但没有触碰 DOM——
所有的 DOM 操作都由 Vue 来处理,你编写的代码只需要关注逻辑层面即可。
这是vue厉害的地方,不需要操作dom,就关心逻辑就可以了,
双向绑定 v-model
<div id="app-6"> <p>{{ message }}</p> <input v-model="message"> </div> var app6 = new Vue({ el: '#app-6', data: { message: 'Hello Vue!' } })
- v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定。
- 是可以修改的,修改了输入框里面的,然后上面显示的内容是跟随变化的,
指令列表
- 上面介绍了一些常用的指令,
- 那指令到底有多少??https://cn.vuejs.org/v2/api/#指令
1,v-text
2,v-html
3,v-show
4,v-if
5,v-else
6,v-else-if
7,v-for
8,v-on
9,v-bind
10,v-model
11,v-slot
12,v-pre
13,v-cloak
14,v-once
注意两个缩写
v-bind 缩写 <!-- 完整语法 --> <a v-bind:href="url">...</a> <!-- 缩写 --> <a :href="url">...</a> <!-- 动态参数的缩写 (2.6.0+) --> <a :[key]="url"> ... </a> v-on 缩写 <!-- 完整语法 --> <a v-on:click="doSomething">...</a> <!-- 缩写 --> <a @click="doSomething">...</a> <!-- 动态参数的缩写 (2.6.0+) --> <a @[event]="doSomething"> ... </a>
注意指令的配合
<div v-if="type === 'A'"> A </div> <div v-else-if="type === 'B'"> B </div> <div v-else-if="type === 'C'"> C </div> <div v-else> Not A/B/C </div>
模板语言
- 指令和模板语言要结合使用
文本 <span>Message: {{ msg }}</span> 语法 (双大括号) 的文本插值 通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新 <span v-once>这个将不会改变: {{ msg }}</span> 原始 HTML 双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令: <p>Using mustaches: {{ rawHtml }}</p> <p>Using v-html directive: <span v-html="rawHtml"></span></p>
这篇关于vue框架-基础1-vue包引入,指令,模板语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程