【iview】es6變量結構賦值(對象賦值)

變量的解構賦值

iviewsrc/index.jsVue.prototype.$IVIEW改造為例練習下怎么使用變量的解構賦值

原來的寫法:

const install = function(Vue, opts = {}) {if (install.installed) return;locale.use(opts.locale);locale.i18n(opts.i18n);Object.keys(iview).forEach(key => {Vue.component(key, iview[key]);});Vue.prototype.$IVIEW = {size: opts.size || '',transfer: 'transfer' in opts ? opts.transfer : '',select: {arrow: opts.select ? opts.select.arrow ? opts.select.arrow : '' : '',customArrow: opts.select ? opts.select.customArrow ? opts.select.customArrow : '' : '',arrowSize: opts.select ? opts.select.arrowSize ? opts.select.arrowSize : '' : ''},cell: {arrow: opts.cell ? opts.cell.arrow ? opts.cell.arrow : '' : '',customArrow: opts.cell ? opts.cell.customArrow ? opts.cell.customArrow : '' : '',arrowSize: opts.cell ? opts.cell.arrowSize ? opts.cell.arrowSize : '' : ''},menu: {arrow: opts.menu ? opts.menu.arrow ? opts.menu.arrow : '' : '',customArrow: opts.menu ? opts.menu.customArrow ? opts.menu.customArrow : '' : '',arrowSize: opts.menu ? opts.menu.arrowSize ? opts.menu.arrowSize : '' : ''},tree: {arrow: opts.tree ? opts.tree.arrow ? opts.tree.arrow : '' : '',customArrow: opts.tree ? opts.tree.customArrow ? opts.tree.customArrow : '' : '',arrowSize: opts.tree ? opts.tree.arrowSize ? opts.tree.arrowSize : '' : ''},cascader: {arrow: opts.cascader ? opts.cascader.arrow ? opts.cascader.arrow : '' : '',customArrow: opts.cascader ? opts.cascader.customArrow ? opts.cascader.customArrow : '' : '',arrowSize: opts.cascader ? opts.cascader.arrowSize ? opts.cascader.arrowSize : '' : '',itemArrow: opts.cascader ? opts.cascader.itemArrow ? opts.cascader.itemArrow : '' : '',customItemArrow: opts.cascader ? opts.cascader.customItemArrow ? opts.cascader.customItemArrow : '' : '',itemArrowSize: opts.cascader ? opts.cascader.itemArrowSize ? opts.cascader.itemArrowSize : '' : ''},colorPicker: {arrow: opts.colorPicker ? opts.colorPicker.arrow ? opts.colorPicker.arrow : '' : '',customArrow: opts.colorPicker ? opts.colorPicker.customArrow ? opts.colorPicker.customArrow : '' : '',arrowSize: opts.colorPicker ? opts.colorPicker.arrowSize ? opts.colorPicker.arrowSize : '' : ''},datePicker: {icon: opts.datePicker ? opts.datePicker.icon ? opts.datePicker.icon : '' : '',customIcon: opts.datePicker ? opts.datePicker.customIcon ? opts.datePicker.customIcon : '' : '',iconSize: opts.datePicker ? opts.datePicker.iconSize ? opts.datePicker.iconSize : '' : ''},timePicker: {icon: opts.timePicker ? opts.timePicker.icon ? opts.timePicker.icon : '' : '',customIcon: opts.timePicker ? opts.timePicker.customIcon ? opts.timePicker.customIcon : '' : '',iconSize: opts.timePicker ? opts.timePicker.iconSize ? opts.timePicker.iconSize : '' : ''},tabs: {closeIcon: opts.tabs ? opts.tabs.closeIcon ? opts.tabs.closeIcon : '' : '',customCloseIcon: opts.tabs ? opts.tabs.customCloseIcon ? opts.tabs.customCloseIcon : '' : '',closeIconSize: opts.tabs ? opts.tabs.closeIconSize ? opts.tabs.closeIconSize : '' : ''},modal: {maskClosable: opts.modal ? 'maskClosable' in opts.modal ? opts.modal.maskClosable : '' : ''}};Vue.prototype.$Loading = LoadingBar;Vue.prototype.$Message = Message;Vue.prototype.$Modal = Modal;Vue.prototype.$Notice = Notice;Vue.prototype.$Spin = Spin;
};

使用解構賦值

const install = function(Vue, opts = {}) {if (install.installed) return;locale.use(opts.locale);locale.i18n(opts.i18n);Object.keys(iview).forEach(key => {Vue.component(key, iview[key]);});/** ==================== obj ================== */let obj = {select:{},      cell:{},            menu:{}, tree:{},        colorPicker:{},     cascader:{}}for (let [key, value] of Object.entries(obj)){({arrow:          value.allow = '', customArrow:    value.customArrow = '', arrowSize:      value.arrowSize =''} = opts[key] ? opts[key] : {})}
//這里不能使用:let cascader = obj.cascader然后在下面使用({itemArrow:          obj.cascader.itemArrow = '',customItemArrow:    obj.cascader.customItemArrow = '',itemArrowSize:      obj.cascader.itemArrowSize = ''} = opts['cascader'] ? opts['cascader'] : {})/** ==================== obj2 ================== */let obj2 = { datePicker:{},  timePicker:{} }for (let [key, value] of Object.entries(obj2)){({icon:           value.icon = '', customIcon:     value.customIcon = '', iconSize:       value.iconSize =''} = opts[key] ? opts[key] : {})}let {closeIcon = '', customCloseIcon ='', closeIconSize = ''} = opts.tabs ? opts.tabs : {}Vue.prototype.$IVIEW = Object.assign({size: opts.size || '',transfer: 'transfer' in opts ? opts.transfer : '',tabs: {closeIcon, customCloseIcon, closeIconSize},modal: {maskClosable: opts.modal ? 'maskClosable' in opts.modal ? opts.modal.maskClosable : '' : ''}}, obj, obj2);Vue.prototype.$Loading = LoadingBar;Vue.prototype.$Message = Message;Vue.prototype.$Modal = Modal;Vue.prototype.$Notice = Notice;Vue.prototype.$Spin = Spin;
};

對象解構(key要對應)
數組解構(位置要對應)
其他......

最后編輯于:2025-04-21 11:06:52


喜歡的朋友記得點贊、收藏、關注哦!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79453.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79453.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79453.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【c++深入系列】:萬字詳解vector(附模擬實現的vector源碼)

🔥 本文專欄:c 🌸作者主頁:努力努力再努力wz 💪 今日博客勵志語錄: 種子破土時從不問‘會不會有光’,它只管生長 ★★★ 本文前置知識: 模版 1.什么是vector 那么想必大家都學過順…

MySQL基礎關鍵_007_DQL 練習

目 錄 一、題目 二、答案(不唯一) 1.查詢每個部門薪資最高的員工信息 2.查詢每個部門高于平均薪水的員工信息 3. 查詢每個部門平均薪資等級 4.查詢部門中所有員工薪資等級的平均等級 5.不用分組函數 max 查詢最高薪資 6.查詢平均薪資最高的部門編…

Jenkis安裝、配置及賬號權限分配保姆級教程

Jenkis安裝、配置及賬號權限分配保姆級教程 安裝Jenkins下載Jenkins啟動Jenkins配置Jenkins入門Jenkins配置配置中文配置前端自動化任務流新建任務拉取代碼打包上傳云服務并運行配置后端自動化任務流新建任務拉取代碼打包上傳云服務并運行賬號權限分配創建用戶分配視圖權限安裝…

虛函數 vs 純虛函數 vs 靜態函數(C++)

🧩 一圖看懂:虛函數 vs 純虛函數 特性虛函數(Virtual)純虛函數(Pure Virtual)語法virtual void foo();virtual void foo() 0;是否必須實現? 必須在類中實現? 不在基類實現,派生類必須實現是…

2025年滲透測試面試題總結-拷打題庫36(題目+回答)

網絡安全領域各種資源,學習文檔,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具,歡迎關注。 目錄 2025年滲透測試面試題總結-拷打題庫36 PHP代碼常見入口函數查找 PHP框架路由方法熟悉度 PHP變量覆蓋…

STL之vector容器

vector的介紹 1.vector是可變大小數組的容器 2.像數組一樣,采用連續的空間存儲,也就意味著可以通過下標去訪問,但它的大小可以動態改變 3.每次的插入都要開空間嗎?開空間就要意味著先開臨時空間,然后在拷貝舊的到新…

[學成在線]22-自動部署項目

自動部署 實戰流程 下邊使用jenkins實現CI/CD的流程。 1、將代碼使用Git托管 2、在jenkins創建任務,從Git拉取代碼。 3、拉取代碼后進行自動構建:測試、打包、部署。 首先將代碼打成鏡像包上傳到docker私服。 自動創建容器、啟動容器。 4、當有代…

74HC123的電路應用場景

74HC123的電路應用場景 **1. 引腳功能示例****2. 核心功能****(1)單穩態觸發器****(2)雙獨立通道****(3)靈活觸發方式** **3. 工作原理****4. 典型應用場景****(1)定時與延時控制***…

【人工智能】大模型安全的深度剖析:DeepSeek漏洞分析與防護實踐

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 隨著大語言模型(LLM)的廣泛應用,其安全性問題日益凸顯。DeepSeek作為中國領先的開源AI模型,以低成本和高性能著稱,但近期暴露的數據庫…

《ESP32音頻開發實戰:I2S協議解析與WAV音頻錄制/播放全指南》

前言 在智能硬件和物聯網應用中,音頻處理能力正成為越來越重要的功能——無論是語音交互、環境音采集,還是音樂播放,都離不開高效的音頻數據傳輸與處理。而I2S(Inter-IC Sound)作為專為音頻設計的通信協議&#xff0c…

大數據實時數倉的數據質量監控解決方案

實時數倉不僅僅是傳統數據倉庫的升級版,它更強調數據的實時性、流動性和高可用性,通過對海量數據的即時處理和分析,為企業提供近乎實時的洞察力。這種能力在金融、零售、制造、互聯網等行業中尤為關鍵,例如,電商平臺可以通過實時數倉監控用戶行為,動態調整推薦算法;金融…

56認知干貨:智能化產業

如果在不久的未來,一座高樓大廈的建設,只需將圖紙輸入系統,無數臺機器人就能精準協作完成任務; 電影節的主角不再是人類,動漫與影視作品將不再需要人類創作; 當播種和收獲的工作無人參與,所有過程都能自動化進行; 這將預示著我們將迎來一個智能化社會,在這個社會中,…

使用synchronized關鍵字同步Java線程

問題 在Java多線程編程中,你需要保護某些數據,防止多個線程同時訪問導致數據不一致或程序錯誤。 解決方案 在需要保護的方法或代碼段上使用synchronized關鍵字。 討論 synchronized關鍵字是Java提供的同步機制,用于確保在同一時刻只有一…

MATLAB基于格拉姆角場與2DCNN-BiGRU的軸承故障診斷模型

本博客來源于CSDN機器魚,未同意任何人轉載。 更多內容,歡迎點擊本專欄目錄,查看更多內容。 目錄 0 引言 1 格拉姆角場原理 2 2DCNN-BiGRU網絡結構 3 應用實例 3.1 數據準備 3.2 格拉姆角場數據提取 3.3 網絡模型搭建-重中之重 3.4 …

電氣設備器件選型參數---斷路器

斷路器 一、基本電氣參數 額定電壓(Ue) 必須≥系統最高工作電壓(如380V、660V等)。 注意直流/交流系統的區別,直流斷路器需專門設計。 額定電流(In) 根據負載的持續工作電流選擇,…

Linux常用命令30——groupadd創建新的用戶組

在使用Linux或macOS日常開發中,熟悉一些基本的命令有助于提高工作效率,groupadd命令的功能是創建新的用戶組。每個用戶在創建時都有一個與其同名的基本組,后期可以使用groupadd命令創建出新的用戶組信息,讓多個用戶加入指定的擴展…

微信小程序 自定義組件 標簽管理

環境 小程序環境: 微信開發者工具:RC 1.06.2503281 win32-x64 基礎運行庫:3.8.1 概述 基礎功能 標簽增刪改查:支持添加/刪除單個標簽、批量刪除、重置默認標簽 數據展示:通過對話框展示結構化數據并支持復制 動…

wpf CommandParameter 傳遞MouseWheelEventArgs參數 ,用 MvvmLight 實現

在 WPF 中使用 MVVM Light 框架傳遞 MouseWheelEventArgs 參數至 CommandParameter,可通過以下步驟實現: ?1. XAML 中配置事件綁定? 在控件上通過 EventToCommand 綁定鼠標滾輪事件,并啟用 PassEventArgsToCommand 屬性以傳遞事件參數: <!-- 命名空間聲明 --> x…

vmware diffy配置ollama 本機ip無法訪問

防火墻直接關閉 本地測試&#xff0c;給它直接關了 ollama配置 vim /etc/systemd/system/ollama.service這是的配置 [Unit] DescriptionOllama Service Afternetwork-online.target[Service] Environment"OLLAMA_HOST0.0.0.0:11434" #Environment"OLLAMA_OR…

React--》掌握react構建拖拽交互的技巧

在這篇文章中將深入探討如何使用react-dnd&#xff0c;從基礎的拖拽操作到更復雜的自定義功能帶你一步步走向實現流暢、可控且用戶友好的拖拽體驗,無論你是剛接觸拖拽功能的初學者還是想要精細化拖拽交互的經驗開發者&#xff0c;都能從中找到適合自己的靈感和解決方案。 目錄 …