在開發小專案的時候,我們不希望引入vue的外掛程式vuex,而僅僅使用簡單的乙個自定義的外掛程式,來解決跨級和兄弟元件通訊的問題。
在此,通過vue外掛程式的方式,可以在全域性的元件間隨意使用;
// vue-bus.js
const install = function (vue) ,
on (event, callback) ,
off (event, callback)
}});
vue.prototype.$bus = bus;
};export default install;
注意檔案引入路徑
// 部分省略
import vuebus from './vue-bus';
vue.use(vuebus);
通過使用this.$bus.emit('add', this.params);
發出。第乙個引數為事件名,第二引數為需要傳遞的資料;
通過使用this.$bus.emit('add',this.handledata)
接收。 第乙個引數為事件名,第二個引數為乙個callback的函式,該函式入參就是emit傳遞過來的引數;
注意點:
$bus.on 應該在created 鉤子內使用, 如果在mounted 中使用,可能接收不到其他元件來自created 鉤子內發出的事件;
使用了bus
.on,
在bef
ored
esto
ry鉤子
中應該再
使用
bus.on ,在beforedestory 鉤子中應該再使用
bus.on
,在be
fore
dest
ory鉤
子中應該
再使用bus.off 解除,元件銷毀後,應該清除監聽的控制代碼;
created () ,
beforedestroy ()
vue實現乙個簡單的tab panel元件
tab panel元件主要涉及到vue的插槽和父子元件間值的傳遞。元件demo位置 子元件 在父元件中的引用 面板1 面板2 這裡使用到具名插槽來傳遞父元件中的html結構,關於插槽可以看這裡,簡單來說就是預設插槽直接接收所有父元件傳過來的html模板,然後渲染在插槽的位置,具名插槽如上述所寫,父元...
實現乙個簡單的資料庫
所有應用軟體之中,資料庫可能是最複雜的。mysql的手冊有3000多頁,postgresql的手冊有2000多頁,oracle的手冊更是比它們相加還要厚。但是,自己寫乙個最簡單的資料庫,做起來並不難。reddit上面有乙個帖子,只用了幾百個字,就把原理講清楚了。下面是我根據這個帖子整理的內容。第一步...
乙個簡單的跨庫事務問題
來自 最近在做乙個專案,其中乙個方案涉及到跨庫事務一致性問題,是乙個簡單的場景。這個專案是對老的業務進行效能提公升,業務邏輯基本上保持不變。主要是在於新專案採用了分庫分表的設計,從而提公升了效能。考慮到專案發布之後可能存在風險,採取了新老系統的並行方案。這個系統的業務比較簡單 接收來自外部的資料,然...