真正的从零开始学习Vue

       这是一个关于没有任何基础的学生党开始学习Vue,包括没有HTMl,JavaScript基础知识,所记录的知识点全是在学习过程中遇到的不会的内容。

1.代码做的事情 

创建了一个Vue对象,创建对象的同时传入了一些options:{},

·其中{}包含了el属性,该属性决定了这个Vue对象挂载到哪一个元素上

·{}中包含了data属性:该属性中通常会存储一些数据,这些数据可以是自己直接定义的,也可以是来自网络,从服务器加载的

2.Vue中的指令

·v-for   遍历指令(在使用时,最好给对应的元素或组件添加上一个key属性)

        ·(value, key)获取响应的value和key

        ·(value, key,index)获取响应的数据

·v-on   监听某一个事件的指令(语法糖为@)

        v-on的修饰符:

                ·.stop:防止程序冒泡

                ·.prevent:在程序提交时,防止自动提交

                ·@kepup.(键位):监听用户按键

·v-once   表示元素和组件只渲染一次不会随数据的改变而改变

·v-html   将指令的html解析出来并且进行渲染

·v-text   和Mustache相似,用于将数据显示在界面中

·v-pre   将数据原封不动的显示出来而不进行解析

·v-cloak(斗篷)   隐藏未编译的Mustache标签

·v-bind   动态绑定属性,语法糖写法就是一个冒号(:)

·v-if   条件判断文本是否显示,true为显示,false为不显示

·v-else   与v-if连用

·v-show与v-if的区别:

        ·v-if:当条件为false时,包含v-if指令的元素,根本就不会存在DOM中

        ·v-show:当条件为false时,v-show只是给我们的元素添加了一个行内样式: display: none

        ·在开发中,当需要在显示与隐藏之间切片很频繁时,使用v-show;当只有一次切换时,

         使用v-if

·v-model实现数据的双向绑定,其实它是一个语法糖,背后的本质上包含两种操作

        ·1.v-bind绑定一个value属性

        ·2.v-on指令给当前元素绑定input事件

<input type="text" :value="message" @input="valueChange">
methods: {
      valueChange(event) {
        this.message = event.target.value
      }

<input type="text" :value="message" @input="message = $event.target.value">

        ·3.v-model的修饰符

                ·lazy修饰符:在默认情况下,v-model默认是在input事件中同步输入框的数据的,而lazy修饰符可以让数据在失去焦点或者回车时才会更新

                ·number修饰符:在默认情况下,在输入框中无论输入的是字母还是数字,都会被当做字符串处理,number修饰符可以让输入框中输入的内容自动转成数字类型

                 ·trim修饰符:可以过滤掉内容左右两边的空格

3.属性

·methods,该属性用于在对象中定义方法

·el,该属性用于对象的挂载

·data,该属性通常用于存储数据

·computed,计算属性

·created:HTML加载之前执行,执行顺序:父组件-子组件

·mounted:HTML加载完成后执行,执行顺序:子组件-父组件

·watch是监听一个值得变换然后执行对应的函数

·filters过滤器

·components挂载到Vue下面用于局部组件的定义

4.Vue中的MVVM

·MVVM指Model、ViewModel、View

简单理解就是ViewModel作为Model和View的中介,将数据进行双向的交互

·在开发中,优先使用const,只有需要改变某一个标识符的时候才可以使用let

5.一些没见过的HTML语言用法

.toFixed()可以是一个数保留小数,括号中填写所要保留的位数

disable表示按钮不能交互

 <lable for="male">
   <input type="radio" id="male" name="sex">男
 </lable>
 <lable for="female">
   <input type="radio" id="female" name="sex">女
 </lable>
//name是此段代码互斥的关键,表单提交时值提交一个name,若将两个name改为不一样的则不可以互斥
//如果使用v-model同时绑定一个时也可以实现互斥的效果
  <select name="abc" id="" v-model="fruit">
//此段代码为select中的单选
  <select name="abc" id="" v-model="fruits" multiple>
//在单选的基础上加一个multiple就变成了多选

6.HTMLDOM中方法总结

·.setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

        setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由         setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

·.set(要修改的对象, 索引值, 修改后的值)

·数组中实时响应式的方法

        ·.push方法:在数组的最后一位添加元素,可同时添加多个元素

        ·.pop():删除数组的最后一个元素

        ·.shift():删除数组中的第一个元素

        ·.unshift:在数组的最前面添加元素,可同时添加多个元素

        ·.splice():删除元素/插入元素/替换元素

                // 删除元素:第二个参数传入要删除几个元素(如果不传入第二个参数则表示从开始的                     位置删到最后) // splice(start, end)

                // 替换元素:第二个参数表示要替换几个元素,后面是用来替换前面的元素// splice(1,                     3, 'm', 'n', 'p')

                // 插入元素:第二个参数传入0并且后面跟上要插入的元素 // splice(1, 0, 'x', 'y', 'z')

        ·.sort():对数组中元素做排序

        ·.reverse():将数组中元素进行反转

·循环中for...in遍历时得到的是数组下标,而for...of遍历时得到的是数组值

·.filter():filter中必须有回调函数,而回调函数的要求是必须返回一个boolean值,当返回true时,函数内部会自动将这次回调的n加入到新的数组中,当返回false时,函数内部会过滤掉这次的n                   取出数组中所有小于100的数字           

const nums = [10, 20, 30, 88, 102, 520, 333, 45] 
let newNums = num.filter( funciton(n) {return n < 100}) 

                                                                         

·.map():函数返回一个新的数组,数组中的元素为原始数组调用函数后处理的值                           需求:将所有小于100的数字进行转换:全部*2                                                                          

  let new2Nums = newNums.map(function(n) {return n * 2}) 

·.reduce():对数组中所有的内容进行汇总                                                                                     需求:求数组中所有元素的和                                                                                                            let total = new2Nums.reduce(function (preValue, n) {return preValue + n}, 0)                                  函数执行原理:第一次:preValue 0  n 20      第二次:preValue 20  n 40                                                             第三次:preValue 60 n 80     第四次:preValue 140 n 100   最后返回值:240

7.代码规范:缩进4个空格,一般缩进2个空格

CLI->创建editconfig2个空格

8.HTML中各标签的作用

·<div>元素是块级元素,它是可用于组合其他 HTML 元素的容器

·<span> 元素是内联元素,可用作文本的容器

·<ul>+<li>   表格展示标签

·<form>标签用于为用户输入创建HTML表单

·<input>用于搜集用户信息

·<lable>标签为input元素定义标注

·标题通过标签<h1>-<h6>来定义   

<h1>这是一个标题</h1>

·段落通过标签<p>来定义        

 <p>这是一个段落。</p>

·链接通过标签<a>来定义,链接的地址在 href 属性中指定

<a href="https://www.runoob.com">这是一个链接</a>

·图像通过标签<img>来定义,

alt属性是如果无法显示图片则用文字代替

target属性规定在何处打开文档

<img loading="lazy" src="/images/logo.png" width="258" height="39" />

·<br>是换行标签,没有结束标签

·<hr>标签在页面中创建水平线,可用于分割内容

·<table>标签定义HTML表格,简单的HTML表格由table元素以及一个或多个tr、th、td元素组成

        tr元素定义表格行、th元素定义表头、td元素定义表格单元

        <thead> 标签定义表格的表头。该标签用于组合 HTML 表格的表头内容。thead 元素应该与          tbody 和 tfoot 元素结合起来使用。tbody 元素用于对 HTML 表格中的主体内容进行分组,             而tfoot 元素用于对 HTML 表格中的表注(页脚)内容进行分组。

注释:如果您使用 thead、tfoot 以及 tbody 元素,您就必须使用全部的元素。它们的出现次序是:thead、tfoot、tbody,这样浏览器就可以在收到所有数据前呈现页脚了。您必须在 table 元素内部使用这些标签。

9.Vue模块开发的组件化

·组件的使用分成三个步骤:

        ·创建组件构造器   

const cpnC = Vue.extend({
//自定义组件模板
template: `模板内容`
})

        ·注册组件

Vue.component('cpn', cpnC)   //注册的两个量分别是自定义标签名和组件名

        ·使用组件

<div> <cpn><cpn> </div>   //使用组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值