diff --git "a/\346\275\230\351\207\221\351\223\216/2021-6-08.md" "b/\346\275\230\351\207\221\351\223\216/2021-6-08.md" new file mode 100644 index 0000000000000000000000000000000000000000..7469dab5d3fc027a087a82055a0f1c527f111b5e --- /dev/null +++ "b/\346\275\230\351\207\221\351\223\216/2021-6-08.md" @@ -0,0 +1,220 @@ +Vue的第九次课 组建基础 + +组件的复用 组件事例(在组件创建中template 中定义一个子组件绑定value的值 并绑定点击事件是一个方法或是定义好的表达式) 组件创建中data必须是一个匿名的方法并且返回的是一个对象 组件复用:定义的组件 每应用一个相同的原组件 相当于新建一个原有的组件事例 即用相同组件相当于一直创建相同的组件 template:组件的标签 +
+ + + +
+ + + +组件的组织 为了方便组件在模板中使用这些组件必须通过注册以便新建的Vue事例(new Vue({}))识别调用 注册类型分 局部注册和全局注册 我们现在用的 Vue.component 是全局注册 但是比较常用的是局部注册后面会继续学习到 即 全局注册的组件可以被新建的Vue事例(新建的根实例)调用 + +通过Props向子组件传递数据 props 作为一个中间商 先在父组件 中通过v-for 遍历根实例中定义的数值 再将遍历的获取的item 绑定到props中的title id 再讲props中从父组件获取的值给予子组件直接应用 + +
+ + + +
+ + + +单个根元素 每个组件只有一个根元素 template:子组件 子组件可填写一个组件 要填写多个组件需要用一个父组件来装载即可 如下用一个父组件div 定义一个class方便应用样式或者再次调用 来装载即可显示多个props获取值的组件 +
+ + + +
+ + + +监听子组件事件 子组件使用 emit()方法触发事件,父组件使用v−on指令监听子组件的自定义事件。子組件中定义了一个触发事件@事件类型="emit('变量名称')" 注意这里子组件定义的input 中value获取不到值 要通过props获取或者 要在父组件(addcount)绑定value +通过子组件定义一个点击的触发事件 使得父组件监听这个子组件的事件并在其触发后父组件也触发监听的事件 +
+ + + + + +
+ + + + +使得事件抛出一个值 通过$event 获取子组件中抛出的值引用与父组件 +
+ + + + + +
+ + + +在组件上使用 v-model 通过在父组件中绑定title 传入prors中 并在其子组件绑定value 并监听子节点并将新的值抛出 在父节点绑定触发事件 +
+ + + + +
+ + + +插槽 快捷变量插入 之前通过{{变量}}插入 +
+ + 也变秃了 + +
+ + + + + +``` +这是一个简单的组件 + +接下来是引用组件 + +在app.vue的文件夹下引入 +``` +import Hello from './Hello' +``` +然后使用componens定义全局组件 +``` +export default { + name: 'App', + components: { + Hello + } +} +``` +最后使用组件,在开头的template中的div中写入你的组件名即可 +``` + +``` \ No newline at end of file