Skip to content

Commit a2776fc

Browse files
committed
自定义tabbar
1 parent 99be777 commit a2776fc

File tree

4 files changed

+28
-63
lines changed

4 files changed

+28
-63
lines changed

my-project-vue2/src/pages/home/index.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
<u-button type="info">信息按钮</u-button>
1212
<u-button type="warning">警告按钮</u-button>
1313
<u-button type="error">危险按钮</u-button>
14+
15+
<!-- 自定义tabbar -->
16+
<!-- <u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar> -->
1417
</view>
1518
</template>
1619

my-project-vue2/src/pages/index/index.vue

Lines changed: 0 additions & 55 deletions
This file was deleted.

my-project-vue2/src/pages/user/index.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
<u-button type="info">信息按钮</u-button>
1111
<u-button type="warning">警告按钮</u-button>
1212
<u-button type="error">危险按钮</u-button>
13+
14+
<!-- 自定义tabbar -->
15+
<!-- <u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar> -->
1316
</view>
1417
</template>
1518

my-project-vue2/src/store/index.js

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ Vue.use(Vuex)
44

55
let lifeData = {};
66

7-
try{
7+
try {
88
// 尝试获取本地是否存在lifeData变量,第一次启动APP时是不存在的
99
lifeData = uni.getStorageSync('lifeData');
10-
}catch(e){
11-
10+
} catch (e) {
11+
1212
}
1313

1414
// 需要永久存储,且下次APP启动需要取出的,在state中的变量名
1515
let saveStateKeys = ['vuex_user', 'vuex_token'];
1616

1717
// 保存变量到本地存储中
18-
const saveLifeData = function(key, value){
18+
const saveLifeData = function (key, value) {
1919
// 判断变量名是否在需要存储的数组中
20-
if(saveStateKeys.indexOf(key) != -1) {
20+
if (saveStateKeys.indexOf(key) != -1) {
2121
// 获取本地存储的lifeData对象,将变量添加到对象中
2222
let tmp = uni.getStorageSync('lifeData');
2323
// 第一次打开APP,不存在lifeData变量,故放一个{}空对象
@@ -32,20 +32,34 @@ const store = new Vuex.Store({
3232
state: {
3333
// 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
3434
// 加上vuex_前缀,是防止变量名冲突,也让人一目了然
35-
vuex_user: lifeData.vuex_user ? lifeData.vuex_user : {name: '明月'},
35+
vuex_user: lifeData.vuex_user ? lifeData.vuex_user : { name: '明月' },
3636
vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '',
3737
// 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式
3838
vuex_version: '1.0.1',
39+
// 自定义tabbar
40+
vuex_tabbar: [{
41+
iconPath: "/static/img/tab-1.png",
42+
selectedIconPath: "/static/img/tab-1-active.png",
43+
text: '首页1',
44+
pagePath: "/pages/home/index"
45+
},
46+
{
47+
iconPath: "/static/img/tab-2.png",
48+
selectedIconPath: "/static/img/tab-2-active.png",
49+
text: '我的2',
50+
pagePath: "/pages/user/index"
51+
},
52+
],
3953
},
4054
mutations: {
4155
$uStore(state, payload) {
4256
// 判断是否多层级调用,state中为对象存在的情况,诸如user.info.score = 1
4357
let nameArr = payload.name.split('.');
4458
let saveKey = '';
4559
let len = nameArr.length;
46-
if(nameArr.length >= 2) {
60+
if (nameArr.length >= 2) {
4761
let obj = state[nameArr[0]];
48-
for(let i = 1; i < len - 1; i ++) {
62+
for (let i = 1; i < len - 1; i++) {
4963
obj = obj[nameArr[i]];
5064
}
5165
obj[nameArr[len - 1]] = payload.value;

0 commit comments

Comments
 (0)