vue子傳父關(guān)于.sync與$emit的實現(xiàn)
$emit(update: prop, "newPropVulue") 這個模式,使子組件向父組件傳達:更新屬性,并拋出新的屬性值
.sync 修飾符 是父組件中修改prop值得修飾符
一:什么地方需要用到.sync修飾符呢
當(dāng)子傳父,父級有兩數(shù)據(jù),而沒有v-modal時
例如iview的Tree組件中:
父級:
<folder-tree :folder-list.sync="folderList" :file-list.sync="fileList" :folder-drop="folderDrop" :file-drop="fileDrop" :beforDelete="beforeDelete" /> import FolderTree from '_c/folder-tree' export default { components: { FolderTree }, }
子級:
<Tree :data="folderTree" :render="renderFunc"></Tree>
子級方法中的寫法:
let updateListName = isFolder ? 'folderList' : 'fileList' this.$emit(`update:${updateListName}`, list)
二:.sync與$emit的寫法問題
使用.sync修飾符,即
// this.$emit('update:folder-tree',100); //無效 this.$emit('update:folderTree',100); //有效 //...... <folder-tree v-bind:folder-tree.sync="test"></folder-tree>
與不使用.sync,即
this.$emit('update:folder-tree',100); //有效 //this.$emit('update:folderTree',100); // 無效 //...... <folderTree v-bind:father-num="test" v-on:update:folder-tree="test=$event" ></folderTree>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue?element-ui表格內(nèi)嵌進度條功能實現(xiàn)方法
Element-Ul是餓了么前端團隊推出的一款基于Vue.js 2.0 的桌面端UI框架,下面這篇文章主要給大家介紹了關(guān)于Vue?element-ui表格內(nèi)嵌進度條功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-03-03vue-cli是什么及創(chuàng)建vue-cli項目的方法
vue-cli是 vue 官方提供的、快速生成 vue 工程化項目的工具,支持創(chuàng)建vue2和vue3的項目,本文給大家詳細講解vue-cli是什么及創(chuàng)建vue-cli項目的方法,感興趣的朋友跟隨小編一起看看吧2023-04-04echarts 使用formatter 修改鼠標懸浮事件信息操作
這篇文章主要介紹了echarts 使用formatter 修改鼠標懸浮事件信息操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07ElementUI?select彈窗在特定場合錯位問題解決方案
這篇文章主要介紹了ElementUI?select彈窗在特定場合錯位問題解決方案,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01