寫於 2017.02.28vue
項目地址:github.com/jrainlau/vu… DEMO:jrainlau.github.io/vue-occupy/git
Vue-Occupy
是一個vue指令,可以在數據被加載以前使用一個可配置的色塊進行佔位,可以有效提高用戶體驗。github
使用yarn
或者npm
的方式進行安裝:npm
# yarn
yarn add vue-occupy
# npm
npm install vue-occupy
複製代碼
進入項目入口文件,添加如下代碼:bash
import VueOccupy from 'vue-occupy'
Vue.use(VueOccupy)
複製代碼
這樣,vue-occupy
已經被註冊爲一個全局的指令,你能夠在任意.vue
文件裏面經過v-occupy
使用。app
參數 | 類型 | 描述 | 是否必須 |
---|---|---|---|
data | {Object} | 將要綁定在節點上的數據 | Yes |
config | {Object} | 佔位色塊的配置項 | No |
舉例:fetch
<template>
<div id="app" style="width:200px;height:50px;">
<div v-occupy="{ data: content, config }"></div>
</div>
</template>
<script>
export default {
data () {
return {
content: '',
config: {
width: '200px',
height: '18px',
background: '#ddd'
}
}
},
mounted () {
fetch(url).then((result) => {
this.content = result
})
}
}
</script>
複製代碼
在fetch
方法返回數據以前,<div v-occupy="{ data: content, config }"></div>
這個節點會被一個矩形色塊所佔據。當數據被成功返回後,色塊將會被替換成content
的內容。ui
注意:vue-occupy
的默認配置項是這樣的:this
{
width: 100%;
height: 100%;
background: #eee
}
複製代碼
通過vue-occupy
處理的節點會變成下面這樣:url
<div v-occupy="{ data: content, config }">
<div style="width: 100%; height: 100%; background: #eee;></div> </div> 複製代碼
這意味着,你必須設置具體的width
和height
於你使用了v-occupy
的節點,又或者你能夠經過自定義配置項來覆蓋默認的樣式。
MIT