狗狗管理
date>inde.js
// 导入fs模块
const {log} = require('console');
// 系统自动生成
const fs = require('fs')
// 先读取文本内容
fs.readFile('./dogs.json',(err,data) =>{
// 读取成功
if(!err){
console.log(data);
const arr = JSON.parse(data);
console.log(arr);
arr.push('小金毛');
console.log(arr);
fs.writeFile('./dogs.json',JSON.stringify('arr'),err => {
if(!err){
console.log('写入成功');
}else{
console.log('写入失败');
}
})
}
})
module>function.js
const fs = require('fs')
function addDog(dog) {
// 读取文件
fs.readFile('../data/dogs.json', (err, data) => {
// 读取成功
if (!err) {
// console.log(data); //<Buffer 5b 22 e8 90 a8 e6 91 a9 e8 80 b6 22 5d>
// JSON通常用于与服务器交换数据
// 所以我们通过JSON.parse方法把JSON数据转换为JS字符串
// console.log(JSON.parse(data));
// 定义一个数组去接收我们读取到的数据
const arr = JSON.parse(data)
// 往数组中增加元素
arr.push(dog)
// console.log(arr);
// 向JSON文件写入数组元素
fs.writeFile('../data/dogs.json', JSON.stringify(arr), err => {
if (!err) {
console.log('写入成功')
} else {
console.log('写入失败')
}
})
}
})
}
addDog('比熊')
// 封装的读取狗狗的方法
function readDog () {
// 读取
fs.readFile('../data/dogs.json',(err,data) => {
// fs.readFile('./data/dogs.json',(err,data) => {
// 如果每次就打印数组
if(!err){
console.log( JSON.parse(data) );
}else {
// 打印错误
console.log(err);
}
})
}
module.exports = {
addDog,
readDog
}
修饰符
lazy
<div id="app">
<!-- 事件修饰符.lazy不会即时的将输入框的内容存放入data -->
<input v-model.lazy="msg">
<span>{ {msg}}</span>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
msg:'1111'
}
})
</script>
number
<div id="app">
<!-- 修饰符.number把string字符串转为number数字 -->
<input type="number" v-model.number="age">
<span>{ {age}}</span>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
age:''
},
watch:{
age(){
console.log(typeof(this.age));
}
}
})
</script>
trim
<div id="app">
<!-- trim屏蔽空格 -->
<input type="text" v-model.trim="msg">
<span>{ {msg.length]}</span>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
msg:''
}
})
</script>
input输入类型
单选按钮
div id="app">
<span>选择一种语言:{ { language}}</span> <br>
<input type="radio" id="python" value="python” v-model="language">
<label for="python">python</label>
<input type="radio" id="javascript” value="javascript” v-model="language">
<label for="javascript">javascript</label>
<input type="radio" id="c++" value="c++" v-model="language">
<label for="c++">c++</label>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
language:''
}
})
</script>
多行文本框
<div id="app">
<textarea v-model="comment" cols="50" rows="10" placeholder="请输入您的留言"></textarea>
<p>您的留言是</p>
<p style="white-space:pre-line;">{ {comment}}</p>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
comment:''
}
})
</script>
复选框
<div id="app">
<span>请选择语言,已选择:{ { language }},{ { language.length }}种</span> <br>
<input type="checkbox" id="python" value="python" v-model="language">
<label for="python">python</label>
<input type="checkbox"id="javascript" value="javascript" v-model="language">
<label for="javascript">iavascript</label>
<input type="checkbox" id="c++" value="c++" v-model="language">
<label for="c++">c++</label>
</div>
<script src="../../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
language:[]
}
})
</script>
文本框
<body>
<!-- input(输入)类型 -->
<!-- type="text"(类型=文本)文本输入框,用于登陆页面输入用户名 -->
文本输入:<input type="text"><br>
<!-- type="password"(类型=密码)密码输入框,用于输入密码,显示***。-->
输入密码:<input type="password"> <br>
<!-- type="file"(类型=文件)上传文件处,用于文件的选择和上传。-->
选择文件:<input type="file"> <br>
<!-- type="checkbox"(类型=复选框)用于某项选择的打开或关闭。-->
反复选择:<input type="checkbox"> <br>
<!-- type="radio"(类型=发送)0 只能选择一次-->
唯一选择:<input type="radio"> <br>
<!-- type="image"(类型=图片) 将图片定义为提交按钮-->
图片提交:<input type="image”src="图片路径"><br>
<!-- type="submit"(类型=提交)专门用于提交表单的button按钮-->
提交按钮:<input type="submit"> <br>
<!-- type="month"(类型=月份) 定义year(年)和month(月)-->
选择月份:<input type="month"> <br>
<!-- type="number"(类型=数字) 只能选择/输入数字_->
选择数字:<input type="number"> <br>
<!-- type="time" (类型=时间) 定义分秒-->
选择时间:<input type="time"> <br>
<!-- type="week"(类型=周)定义年月周-->
选择周:<input type="week">
</body>
下拉框
<div id="app">
<span>请选择一种语言:{ {language}}</span> <br>
<select v-model="language">
<option>python</option>
<option>js</option>
<option>c++</option>
</select>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
language:''
}
})
</script>
脚手架
1. vue脚手架是什么?
它是一个专门为单页面(SPA)应用快速搭建繁杂的脚手架,它是基于webpack的基础开发出来的一款能够快速的帮助我们构建一个用来开发vue的项目目录、结构(vue和webpack的项目模板)。
vue脚手架通常使用在大型项目中,能够加快我们的开发速度。而小型项目不推荐使用脚手架,因为反而会拖慢我们项目的开发速度
2. 脚手架的基础使用与理解:
安装/升级 :
//安装npm install -g @vue/cli//
//升级
npm update -g @vue/cli
//查看当前脚手架版本
vue -V
//安装指定版本
npm i -g @vue/cli@版本号
脚手架创建项目-启动服务
1.创建项目 (注意: 项目名不能带大写字母, 中文和特殊符号)# vue和create是命令, vuecli-demo是自己的文件夹名
vue create vuecli-demo2.选择模版(可以上下箭头选择, 回车确定, 弄错了ctrl+c从第1步来)
3.选择包管理器
4.等待下载脚手架项目, 需要的依赖包
5.按照步骤运行两行代码-开启服务器
脚手架目录分析