talkyoung / talkyoung.github.io

1 stars 0 forks source link

github能成为talkyoung的'小博客'吗 #1

Open talkyoung opened 5 years ago

talkyoung commented 5 years ago

2019-7-23 第一次尝试issues

talkyoung commented 5 years ago

Vue 快速安装一个vue模板 https://www.cnblogs.com/z45281625/p/9015380.html

node -v                   //(版本低引起:bash: npm: command not found)  · npm -v                  //以上帮助检查是否安装 node npm       · 输入vue                    //测试vue是否安装成功 · 输入vue list               //看vue中有哪些子类 npm install vue · npm install -g vue-cli           //全局安装vue-cli · vue init webpack projectName     //生成项目名为projectName的模板,这里的项目名projectName随你自己写 (是的话 敲回车就行)                      //默认情况下,webpack安装的是最新版本的,如果要安装其他版本,使用命令行vue init webpack#1.0 ***就可以了。   注意:淘宝镜像语句,安装后npm速度更快,用的时候将npm都改成cnpm                在安装时会询问你:  ①、Project name (sanfeng1);项目名称(sanfeng1)。(确定按enter,否按N)  ②、 Project description (A Vue.js project);项目描述(一vue.js项目)。(随意输入一段简短介绍,用英文)  ③、Author (sunsanfeng);作者(sunsanfeng)。(确定按enter,否按N)  ④、Vue build (Use arrow keys)> Runtime + Compiler: recommended for most usersRuntime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render         functions are required elsewhere;Vue公司的建立(使用箭头键)>运行时+编译器:大多数用户推荐运行时间:约6kb轻民+ gzip,但模板(或任何Vue具体HTML)只允许在。VUE文件渲染功能是必需的其他地方。(按enter)  ⑤、Install vue-router? (Y/n);安装的路由?(/ N)。(可安可不安,以后也可以再安,根据需求选择)  ⑥、Use ESLint to lint your code? (Y/n);使用ESlint语法?(Y/ N)。(使用ESLint语法,就要做好心理准备,除非你非常懂ESLint语法,要不就会处处报错,我就被逼疯过,建议N)  ⑦、Setup unit tests with Karma + Mocha? (Y/n);设置单元测试?(Y / N)。(选N)  ⑧、Setup e2e tests with Nightwatch? (Y/n);Nightwatch建立端到端的测试?(Y / N)。(选N)

渐进式的js框架

注意: 使用{{}}调用方法的时候需要加()。 但在事件里面如果方法不需要传参就不需要加(),因为vue能够识别。

Lession1 引用 这个是cdn

Lession2 new Vue({ 创建一个vue实例 el: '#vue-app', el:element 需要获取的元素,一定是html的根容器元素 data: { data:用于数据的存储 name: 'Shaun', webTag:”web” 将标签应用于数据的双向绑定 }, methods: { greet: function(time){ method:用于存储方法 return 'Good ' + time + ', ' + this.name; this:当前vue实例对象 } }, Computed:{ addA: function(){ return this.a + this.age; } });

数据的双向绑定

将标签应用于数据的双向绑定 需要先定义一个标签

事件event v-on: 可以使用@ 代替 <button @click=””>

1、点击事件 2、双击点击事件 点击两次鼠标后将出发事件 3、鼠标移动事件 updateXY: function(event){ //console.log(event); 查看事件对象event的属性 This.x = event.offsetX; offsetX就是event对象的属性 This.y = event.offsetY; }

事件修饰符 对事件做相应的处理 ·阻止单击事件继续传播
想想鼠标移动事件,当鼠标移动到被stop修饰的元素时,鼠标的XY坐标值将不会改变 ·提交事件不再重载页面

一个超链接,阻止跳向其他页面的操作 ·修饰符可以串联 ·只有修饰符
·添加事件监听器时使用事件捕获模式,即元素自身触发的事件先在此处理,然后才交由内部元素进行处理
...
·只当在 event.target 是当前元素自身时触发处理函数 ,即事件不是从内部元素触发的
...
.once 只允许实现一次 注意:使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击。

键值修饰符 (键盘) 对键盘事件进行监听
enter表示只有触发enter这个按键才会触发submit函数

双向数据绑定 /input/select/textarea ·方式一: 需要和事件keyup进行联合使用 前端使用ref引用 Js中使用this.$refs.refvalue.value;进行赋值 ·方式二: 使用指令 v-model=”绑定属性名称”

计算属性 使用原因:计算使用method也可以,但在执行计算过程的时候需要匹配全局对象,即所有的计算方法都会被访问,由此浪费性能,为了减少开销而使用计算属性。 一般计算量特别大的时候才会使用computed。 具体的使用模板看上文格式。 注意:在使用计算属性的时候,前端的属性调用不要写(),和method不一样。

动态绑定css样式 使用v-bind ·方法一

false为不显示red;true为显示red ·方法二class的属性使用计算属性

这将返回多个属性 Computed:{ Return { Color1:this.color1, Color2:this.color2 } } v-if和v-show

区别:p标签是隐藏还是display:none

V-for Data:{ Characters:[“talk”,”yang”], users:[ {name:”tao”,age:22}, {name:”yang”,age:32}, {name:”ainio”,age:12} ] } 使用:v-for=”char in characters” 获取下标:使用:v-for=”(char,index) in characters” {{index}} 也可以遍历对象 Template的使用 如果在div中使用v-for会造成添加重复的div块,浪费空间 如果使用template替换div,就不会在dom中添加div块 初识组件 组件的作用就是避免重复造轮子,把公共的代码提取出来。 类似于angularjs中的baseController。 注意:template中只能由一个根标签 Vue CLI脚手架 目录中各个文件的作用 Build 客服端 服务端 端口号 Static 存放静态文件 Index.html当前入口文件 Package.json 需要依赖的东西 Readme.md 提供一些指令 Src Assets图片 Components 组件 App.vue 根组件 Main.js 和index.html有关系 Import APP from ‘/APP.vue ‘ 引入组件APP Template:””因为引用了app组件,所以呢要在components里面进行申明 —>APP.vue 组件 Template 模板:html结构 Scritp 行为:处理逻辑 Style 样式:解决样式 跳到对应的文件夹下执行 npm install Npm run dev 全局组件注册 注册一次,到处使用 使用方法:标签即可 局部组件注册 在这里我有个疑惑:1、写成”u”:Users这种引用格式,就不可以通过标签进行引用组件进行正常的显示,但使用也就是组件名称的小写格式就可以正常显示 2、就算我components里面不写,通过引入标签也可以正常显示 ·偶然之间看到:”html里面不区分大小写,一律把大写当成小写”,尝试换name名称,都无法显示,只有使用组件的小写名称作为标签或者使用组件的原始名称做标签才可以。哎,视频讲的不清楚啊! Css作用域 注意:如果引用了多个组件,并且每个组件在样式配置中都对相同元素(h1)进行设值,那么会产生冲突,只会显示一个样式。所以要避免这个问题可以使用scope(使用),那么该样式只会在当前组件中起作用。因为他给每一个元素都设置了一个标识,引用的时候增加了这个标识,从而确定了唯一的引用样式。 属性传值Props 将公共的属性啥的提取到父组件当中。 前面的users可以变,后面的users是你定义的属性值 传值和传引用 lesson-24 事件传值(子组件向父组件传值)  $emit 触发父组件的自定义事件 lesson24 生命周期(钩子函数) 路由 安装路由 路由:页面跳转 路由的使用 的作用是显示已经定义的router 安装vue-resource 用于使用http 路由精讲训练 redirect的作用:当所列出的路由不匹配时,就跳转到指定地址 将地址和属性绑定 1、和data数据绑定 2、通过name属性绑定 跳转到上一次浏览的界面 跳转到指定地址 跳转到指定路由名称下 通过push进行跳转 二级路由 全局守卫 后置钩子 路由独享的守卫 组件内守卫 解决方法 离开组件前执行定义的操作 router-view的复用 routes的代码的抽离 路由的滚动行为 跨域 使用fetch实现 配置后必须重启!axios也用这个proxytable 使用axios实现 先安装 设置token vue cli 3.0 https://github.com/vuejs/vue-cli 项目搭建及介绍 更新 新的命令 启动 npm run server 自定义脚手架 选择第三个 新出的添加插件的方法 vue add 插件 全局环境变量 和src同级目录。创建.env文件 注意开发环境server和生产环境npm run build 非开发环境获取env 独立运行.vue组件 和src在同级目录 vue server vue文件名 使用vue server命令需要安装vue server 安装: 图形页面构建项目 ui vue ui 配置基础的路径 修改配置 创建配置文件vue.config.js文件 规定文件名 引入数据 app.get 拿到对应文件的数据 前端css height:85vh 表示长度为当前显示屏的85% 只在谷歌浏览器支持 max-weight:70vw 最大宽度 opacity:0.8 透明度 背景颜色的透明度
talkyoung commented 5 years ago

11111111

talkyoung commented 5 years ago

ok nice 掌握

talkyoung commented 5 years ago

格式

  1. 目录1

正文 重点正文 引入code

  1. 目录3