W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
混入
minxins參數
提供了一種靈活的方式, 把bui.store
的實例進行劃分. 它是一個數組, 數組里面每個對象包含bui.store
的選項, 實例自身的屬性會覆蓋mixins
的相同屬性.
pages/main/main.js
var bs = bui.store({
id: ".bui-page",
scope:"page",
mixins: [{
data: {
title:"標題2"
},
methods: {},
watch: {},
computed: {},
beforeMount:function(){
// console.log(this.$data.title)
},
mounted:function(){
console.log(this.$data.title)
}
}],
data: {
title:"標題"
},
methods: {},
watch: {},
computed: {},
beforeMount:function(){
// console.log(this.$data.title)
},
mounted:function(){
console.log(this.$data.title)
// 標題
},
})
改寫為 pages/main/main.js
loader.define(["pages/list/index"]function(list,require,export,module){
var bs = bui.store({
id: ".bui-page",
scope:"page",
mixins: [list],
data: {
title:"標題"
},
methods: {},
watch: {},
computed: {},
beforeMount:function(){
// console.log(this.$data.title)
},
mounted:function(){
console.log(this.$data.title)
// 標題
},
})
})
定義列表模塊 pages/list/index.js
loader.define(function(require,export,module){
var data = {
data: {
title:"標題2"
},
methods: {},
watch: {},
computed: {},
beforeMount:function(){
// console.log(this.$data.title)
},
mounted:function(){
console.log(this.$data.title)
}
}
// 拋出對象
return data;
})
通過view
標簽把模板分發(fā).
pages/main/main.html
<view name="pages/list/index"></view>
通過分發(fā)出去的view組件, 最終是合并在一個實例上, 模塊之間會按先后順序覆蓋, 沒有獨立的作用域.
需要獨立作用域時, 應該使用的是 component標簽
. 模塊里面需要返回一個實例, 而不是普通對象.
<component id="list" name="pages/list/index"></component>
pages/list/index.html
<h2 b-text="list.title"></h2>
pages/list/index.js
loader.define(function(require,export,module){
// module.id = list
var bs = bui.store({
el: `#{module.id}`,
scope: "list",
data: {
title:"標題"
},
mounted: function(){
console.log("list 模塊已經加載")
}
})
return bs;
})
在一個模塊里面處理三個Tab不好維護, 可以把每個tab的內容進行分發(fā). 這是一個
bui.floor
跟bui.store
結合的例子. 其中用到了延遲加載, 滾動到第2個的時候, 會自動加載第3個模板, 加載了模板以后, 還需要通過實例的bs.$mount
方法, 重新編譯該組件的數據.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: