Vue----脚手架

render:h=>h(App)的写法是一步一步由以上精简过来的,render:()=>{},由于箭头函数的简写模式 + createElement是一个传入参数可以写一个简单的名字,于是就有官方的写法

 

 

《!--下面是关于ref的相关内容:--》

在我写的APP.vue中的school组件中如下:

在APP.vue中就有this.$refs这里面是APP.vue的全部获取的ref;

我们能通过 this.$refs.sch来获得School组件标签;

对于ref与id的辨析:

ref的作用是在Vue中获得DOM元素,id也可以用上述的方法得到

在一般的html标签中ref与id确实没什么区别,

但是在我们引入的自己写的vue标签时区别十分大:

ref得到的是vc,而id得到的是school.vue中的<template></template>中的内容;

《!--下面是关于props的相关内容:--》

 注意这几个点:

1.传入数据时,如name,一般写成 v-bind:name="",简写即是::name="',为什么要这样写呢?

因为这样写” ”这里面就是可以当做js表达式来写了,如:name=''18'',与:name="18",前者是字符串18,后者是数值18

 

首先是在Vue父盒子的子标签里写数据,然后,在子盒子中关于那几条{{}}中数据就可以用了,这不过还要在子盒子中props:声明一下;

 注意:prop最大的作用是可以将父盒子(祖父盒子)的数据与子盒子联系在一起;props中每一个数据都会在vc中,所以我们在vc(即export default)中使用时,记得加上如this.name这样去使用

 

 

《!--下面是关于mixins的相关内容:--》

 《!--下面是关于插件的相关内容:--》

这个是在main.js中使用的:

 

 《!--下面是关于插件的相关内容:--》

在vue中style的css其实是放在一起的,所以可能有名字冲突的情况,可由以上方法解决

《!--下面是关于webstorage的知识--》

果然还是要学json和nodejs啊!!!

 

《!--下面是关于自定义组件事件的知识--》

其可以让子组件给父组件方便地传数据:

比如我remfoot组件想给app组件传数据:

 

这里还有一种绑定的方法:
<Remfoot ref="foot"></Remfoot> mounted(){
this.$ref.foot.$on("自定义组件名称"this.revicefoot); //注意这种写法其this指向的是remfoot,但vue保证像revicefoot 这种方法写在methords中this一定是指向当前组件; 这时发生冲突,以最后一个为准; 但我们写成function(){}这里面用this就一定是指向remfoot了 }

 

我在app组件中的remfoot组件上加上了这一句代码,意为我们自定义的组件事件headaiti在remfoot组件上,并且这个事件一触发

app组件上的revicefoot函数会被调用

name是从headdati传过来的参数;

这是在remfoot组件上:当一点击senthead就会被调用:

emit正是创建自定义事件的API,其第一个参数是自定义事件的名字,以后的参数是给触发事件后的函数的

 解绑自定义事件:

在remfoot组件中:

<button v-on:click="disbind">点我解绑</button>

在Vue中:

export default{

  name:"remfoot",
    
      methords:{

          disbind(){
             this.$off(' 自定义事件名字');
            (还有解绑多个的写法:this.$off(['自定义事件名字1','自定义事件名字2'.....]))    
               (若this.$off()是直接解绑全部)
      }
}  
}

 

 

《!--下面是关于全局事件总线的知识--》

为什么解绑?因为$bus一直在,某个组件是会消亡的,当他消亡时,其流在$bus中的自定义事件会流到站空间

在调用自定义事件的地方解绑:

 

X作为一个傀儡,一般我们称其为$bus,如,我想组件D给组件A传个信息,可以借助X,将这个demo写在X上:

在A中this.$bus.$on('自定义事件',参数);

在D中methords:{

  函数名(){

    this.$bus.$emit(‘自定义事件’,参数);

  }

}

这里我想student组件给school组件传东西:

这在school组件中:

这在student组件中:

这在App组件中:说明x($bus)是什么

 

《!--下面是关于注意小知识--》

当我想点击编辑时,文字变成input框,并能够修改

基本想法是当todo.isEdit为true时,变为input框;反之为文字;但这样加可以吗?

由上可知,isEdit没有set与get,即他变化时不会在web上显示;要用这样的:

 

posted @ 2022-05-09 15:22  次林梦叶  阅读(42)  评论(0)    收藏  举报