1. Custom instruction
2. Data bidirectional binding ::value + @input
v-model Act on form elements
Use of custom components v-model after , The parent component does not need to listen to the event triggering of the child component
.sync Grammar sugar
3. Component communication
1. Cross level access :$emit, Too many components can be troublesome ,vue Provided $root and $parent Two attributes ( Strong coupling ), Accessing the root and parent nodes of a component , Parent component passed ref Access subcomponents
2.
Dependency injection : Parent component provide Corresponding attribute , Subcomponents pass injected To use provide Data provided ,injected Internal adoption of $parent Find the corresponding attribute to the parent node , So it's still strong coupling
3. Secondary packaging of components : When modifying the style of the third-party library , use >>>, That's it , You don't have to drive another one alone style
This is a right choice element
input The second encapsulation of components based on ,vue Provided $attrs and $listeners, Convenient to develop secondary packaging , In this way, you don't need to implement custom components separately v-model, also el-input Corresponding methods
4. vue plug-in unit
Mixins: The lifecycle hook function is executed before the hook function of the component ,methods If there are duplicate names , Using the method
plug-in unit :Vue.use(plugin)
5. vue Code reuse scheme :
1. Mixin
2. HOC Hihger order component The function takes the component as an argument , And returns a new component
3. RenderLess assembly
// Parent component with slot SearchWrapper.vue <slot name="searchContent" :data="advanced" /> //
The data of the parent component is used in the child component <search-wrapper @search="searchWarehouseAreaList"
@reset="resetForm"> <a-form-model ref="searchForm" :labelCol="{ span: 5 }"
:wrapperCol="{ span: 18, offset: 1 }" :model="searchModel" layout="horizontal"
slot="searchContent" slot-scope="scopeData"> //
there scopeData.data That points to the parent component :data, that is advanced
Technology