Vue 知识点总结

学习vue有一段时间了,然后对自己学到的知识点做一个总结。

一,常用命令:

1,vue create  +项目名      创建项目

2,npm  run  dev    运行项目

3,npm install    安装项目依赖

4,npm run build    将项目打包

5,vue-cli        vue脚手架


二,项目中的目录结构理解:

 1,build:入口的配置文件

 2,config:配置文件

3,src:里面是写组件和配置路由和写api地址路径。

4,static:存取图片路径和一些静态文件

5,package.json: 存放第三方插件依赖配置

6,package-lock.json: 锁定了包的版本,确保能够避免包版本不同产生的问题

7,main .js   入口文件

三:对组件的理解:

vue里面写组件,提高代码的效率,减少代码的重复性

1,组件创建过程。

组件需要在src路径下面创建一个components文件夹,然后在这个文件夹下进行写组件,如

然后我需要引用组件,就需要去主界面直接引用即可:

 2,组件传值:

使用props传值,props是父级向自己传属性值

组件:

 主界面接收值:

 用$emit是回调父级的方法

传值:

 父级接收select

 传多条数据:

子组件:

  父组件接收:

组件传值不止可以传一级,可以一级一级的传下去,比如A组件引用了B组件,B组件引用了C组件,那么也是可以A传B,B在接收传C

A界面:传入一个selectModel

B界面接收selectModel

然后在传入C界面:

四:常用的内部指令:

1,v-if:条件渲染,如:

 

2,v-show:根据条件判断是否显示元素

 v-if和v-show的区别在于:是真正的条件渲染,不占空间,而v-show相当于css里面的dispaly

3,v-for:根据数组对界面数据进行条件渲染:如:

 <ul style="float: left;margin: 10px 0 0 71px;">
        <li class="rulecontent" v-for="(credititem, i) in creditData" :key="i">
          {{ credititem.name }}
        </li>
      </ul>


  return {
      creditData: [
        {
          name: "积分1"
        },
        {
          name: "积分2"
        },
        {
          name: "积分3"
        }
      ]
    };

v-for比v-if的优先级高。

五,写vue项目,对一些常用的关键字总结:

1,store:状态管理的意思

2,ref和$refs的区别:

ref就相当于html里面的id,

refs是为了方便找到数据id里面的具体数据,如:

<image ref="images" src=""/>

this.$refs.images.data();

这个$refs就是为了方便拿到image的地址

3,parsint:返回解析后的数字,如:

this.moduleId = this.param.type = parseInt(this.$route.params.moduleId);

这里的parsInt就是将type返回后的数据传给moduleid

4,replice:就是替换函数,如:

.replace("T", " F")

这个就是将T替换成F

5,substr:截取字符串,比如截图0到10的数据

.substr(0, 10);

6, =:右边的值赋值给左边的变量,==:判断  ===:绝对等于

7,split:用于把一个字符串分割成字符串数组,如:

 res.data.coverUrl.split(";")[0]

这个意思就是把这个url地址分割成字符串数组,然后以”; ”隔开,后面的【0】是取第1个数据

8,indexOf:可返回某个指定的字符串值在字符串中首次出现的位置。如:

this.item.previewUrl.indexOf("/") == -1

这个意思是将这个/指定在url地址的后面出现。


六,监听事件

监听事件的写法:

      

   let fn= function haha(e)

          {

                    console.log(123)

          }

         let fn1= (e)=>{

          }

          document.addEventListener("click",function(e){

                    

          })

Fn的写法是用函数定义一个haha的名称传到fn

Fn1 是一种语法糖的写法,语法是 ()=>{}

如:

let fn1= (e)=>{

          }

          document.addEventListener("click",function(e){

                    

          })

E的意思就是比如点击触发一个事件,他会把你点击的那个东西的所有数据都穿进来,然后自己可以直接调用。如果不想调用就可以不传。

七,用map和filter,两者的区别:

map:是对整个数组进执行。filter是对当前的数据进行判断执行:

如:

 这个是找到当前datalist里面selected==true的数据。

 这个是找到data数据里面所有select数据等于false的数据。

八,路由,关键字:route

1,路由路径配置:

先引用route:


import Router from "vue-router";

export const routes = [


{ path:
"/subscriber", component: Layout, meta: { title: "用户管理", requireAuth: true }, children: [ { path: "/userList/index", component: () => import("@/views/subscriber/userList"), name: "userList", meta: { title: "用户列表", requireAuth: true } } ] },
]

2,实现路由跳转界面:

第一种方式: this.$router.push({ name: "buy" });

第二种方式:<router-link to="/docsearch"></router-link>

3,参数传递:

发送 

    <router-link to="/detail/20" />

this.$router.push('/detail/20')

接收 this.$route.params.index



九:之前写过一个登录和注册界面的跳转:https://www.cnblogs.com/lovebear123/p/11739455.html


原文地址:https://www.cnblogs.com/lovebear123/p/13260327.html