[Vue.js] 基础 -- Vue简介

 2023-09-10 阅读 26 评论 0

摘要:Vue.js是什么 Vue (读音 /vju/,类似于 view) 是一套用于构建用户界面的渐进式框架. 什么是渐进式? 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统 特

Vue.js是什么

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.

什么是渐进式?

  • 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。
  • 如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统

特点:

  • 解耦视图和数据
  • 可复用的组件
  • 前端路由技术
  • 状态管理
  • 虚拟DOM

 

起步

通过引入:

  • <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    
  • <!-- 生产环境版本,优化了尺寸和速度 -->
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    

vue前端。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>测试Hello Vue</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--
创建Vue对象的时候,传入了一些options:{}{}中包含了el属性:该属性决定了这个Vue对象挂载到哪一个元素上,很明显,我们这里是挂载到了id为app的元素上{}中包含了data属性:该属性中通常会存储一些数据这些数据可以是我们直接定义出来的,比如像上面这样。也可能是来自网络,从服务器加载的
-->
<div id="app">{{ message }}
</div>
<script>var app = new Vue({el:'#app',data:{message:'Hellow Vue'}})
</script>
</body>
</html>

注意:定义模板的代码,要在 Vue 代码的前面。否则,数据就无法渲染进 DOM 系统。

 

声明式渲染

  • v-bindattribute 被称为指令。指令带有前缀v-`,以表示它们是 Vue 提供的特殊 attribute
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<!--  指令 -- v-bind  --><span v-bind:title="message">鼠标悬停几秒钟查看此处动态绑定的提示信息!</span>
</div>
<script>var app2 = new Vue({el: '#app',data: {message: '页面加载于 ' + new Date().toLocaleString()}})
</script>
</body>
</html>

 

条件与循环

  • v-if 指令判断内容是否显示
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-if-->
<div id="app-3"><p v-if="seen">现在你看到我了</p>
</div>
<script>var app3 = new Vue({el: '#app-3',data: {//seen改为false的时候则看不到内容seen: true}})
</script>
</body>
</html>
  • v-for 指令可以绑定数组的数据来渲染一个项目列表

如果添加一个内容化,则会直接加到已有内容的后面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-for-->
<div id="app-4"><ol><li v-for="todo in todos">{{ todo.text }}</li></ol>
</div>
<script>var app4 = new Vue({el: '#app-4',data: {todos: [{ text: '学习 JavaScript' },{ text: '学习 Vue' },{ text: '整个牛项目' }]}})
</script>
</body>
</html>

js里的e, 

处理用户输入

  • v-on 指令添加一个事件监听器

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-on-->
<div id="app-5"><p>{{ message }}</p><button v-on:click="reverseMessage">反转消息</button>
</div>
<script>var app5 = new Vue({el: '#app-5',data: {message: '123456'},methods: {reverseMessage: function () {this.message = this.message.split('').reverse().join('')}}})
</script>
</body>
</html>
  • v-model 指令实现表单输入和应用状态之间的双向绑定。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-model-->
<div id="app-6"><p>{{ message }}</p><input v-model="message">
</div>
<script>var app6 = new Vue({el: '#app-6',data: {message: ' '}})
</script>
</body>
</html>

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/39620.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息