vue第一天

 2023-09-05 阅读 206 评论 0

摘要:最近看了看vue,写写心得笔记。vue的雏形 todolist形式 为了让表现形式好看一点,这次选用bootstrap:1、引入bootstrap.min.css主要是让页面样式好看,直接调用bootstrap里面封装好的类2、引入bootstrap依赖jq类库,所以需要引入jquery-1.11.

最近看了看vue,写写心得笔记。
vue的雏形 todolist形式

clipboard.png

为了让表现形式好看一点,这次选用bootstrap:
1、引入bootstrap.min.css主要是让页面样式好看,直接调用bootstrap里面封装好的类
2、引入bootstrap依赖jq类库,所以需要引入jquery-1.11.0.min.js。
3、bootstrap.js主要是调用封装好的模态框还有弹窗等组件
4、最后引入这个mvvm框架-vue.js

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/vue.js"></script>

在写之前先介绍一下bootstrap常用的类:

-------------------用到的样式---------------------

container:两边留白非全屏,固定宽度并支持响应式布局的容器
form-group:把表单和标签放在一个类厘米获取最佳间距
form-control:向所有的文本元素 <input>、<textarea> 和 <select> 添加这个类
table-bordered: 为所有表格的单元格添加边框
table: 为任意 <table> 添加基本样式 (只有横向分隔线)
table-hover: 在 <tbody> 内的任一行启用鼠标悬停状态
text-center:居中对齐文本
btn: 为按钮添加基本样式
btn-primary: 原始按钮样式(未被操作)
btn-sm:制作一个小按钮

-------------------用到的组件---------------------

modal:黑色遮罩
fade:动画形式
modal-dialog:这个是对话框,对话框里面放内容
modal-content:这个是对话框内容一般有三块:modal-header、modal-body、modal-footer
modal-header
close:点击关闭按钮 data-dismiss="modal">   关闭按钮符号`&times;`
data-toggle="modal" data-target="#layer" 开关

------------------vue用到的指令--------------------

v-model="usename" 双向绑定
v-for="item in myData" 遍历数组
v-on:click="add()" 点击事件
v-show="myData.length==0" 判断数组长度等于0显示的条件
数组添加:

this.myData.push({name: this.usename,age: this.useage})

数组中删除:

this.myData.splice(n, 1);

创建一个 Vue 实例或 "ViewModel",它连接 View 与 Model

new Vue({el: '#app',//说白了是作用范围data: exampleData//结构中用到的参数methods: {//这里面写方法add: function () {}}})

分析:

通过bootstrap把结构搭建完了,建立一个空数组mydata,在呈现的结构中循环遍历v-for="item in myData";呈现数据用{{item}}
通过v-show="mydata.length==0"判断数据为空时候显示隐藏;
在输入框中通过v-model进行数据双向绑定;
通过v-on:click=“add()”绑定添加方法,将数据push到mydata里面,同理删除mydata数据用splice;
删除当前是通过下标$index 例如:v-on:click="noIndex=$index"

<div class="container" id="box"><form role=form><div class="form-group"><label for="username">用户名:</label><input type="text" placeholder="请输入用户名" id="usename" class="form-control" v-model="usename"></div><div class="form-group"><label for="username">年龄:</label><input type="text" placeholder="请输入年龄" id="useage" class="form-control" v-model="useage"></div><div class="form-group"><input class="btn btn-primary" type="button" value="添加" v-on:click="add()"/><input class="btn btn-danger" value="重置" type="reset"></div></form><table class="table-bordered table table-hover text-center"><caption>用户信息表</caption><tr><th class="text-center">序号</th><th class="text-center">用户名</th><th class="text-center">年龄</th><th class="text-center">操作</th></tr><tr v-for="item in myData"><td>{{$index+1}}</td><td>{{item.name}}</td><td>{{item.age}}</td><td><button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#layer"v-on:click="noIndex=$index">删除</button></td></tr><tr class="text-right" v-show="myData.length!=0"><td colspan="4"><button class="btn btn-danger btn-sm" data-toggle="modal" data-target="#layer" v-on:click="noIndex=-2">全部删除</button></td></tr><tr v-show="myData.length==0"><td colspan="4"><p class="h5 text-info">暂无消息...</p></td></tr></table><!--弹出框--><div role="dialog" class="modal fade" id="layer"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><div class="close" data-dismiss="modal"><span>&times;</span></div><div class="modal-title">确认要删除么?</div></div><div class="modal-footer"><button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#layer"v-on:click="del(noIndex)">确认</button><button class="btn btn-danger btn-sm" data-toggle="modal" data-target="#layer">删除</button></div></div></div></div>
</div>

开始写vue:

 <script>window.onload = function () {var vm = new Vue({el: "#box",data: {myData: [],usename: '',useage: '',noIndex: -100},methods: {add: function () {this.myData.push({name: this.usename,age: this.useage})this.usename = '';this.useage = '';},del: function (n) {if (n == -2) {this.myData = [];} else {this.myData.splice(n, 1);}}}})}</script>

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

原文链接:https://hbdhgg.com/1/818.html

发表评论:

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

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

底部版权信息