m***@139.com
m***@139.com
  • 发布:2018-05-04 17:25
  • 更新:2018-05-07 17:59
  • 阅读:3663

mui结合vue-cli的底部导航问题

分类:MUI

请教各路大神,现在我在vue-cli中引入了mui,引入方法是这样的:
1、把mui.js、mui.css 复制到src的static的jsc 和scss目录下
2、先在webpack.base.conf.js中添加 'mui': path.resolve(__dirname, '../static/jsc/mui.js')
3、在要引入的.vue组件中import mui from 'mui' 和@import url("../../static/scss/mui.css")

然后我在.vue组件中引入了mui底部导航,内容如下:
<template>
<div>
<nav class="mui-bar mui-bar-tab">
<router-link class="mui-tab-item" to="p1">
<span class="mui-icon mui-icon-compose"></span>
<span class="mui-tab-label">通话记录</span>
</router-link>
<router-link class="mui-tab-item" to="p2">
<span class="mui-icon mui-icon-phone"></span>
<span class="mui-tab-label">拨号</span>
</router-link>
<router-link class="mui-tab-item" to="p3">
<span class="mui-icon mui-icon-gear"></span>
<span class="mui-tab-label">设置</span>
</router-link>
</nav>
</div>
</template>

路由index.js如下:
{
path: '/p1',
name: 'p1',
component: P1
},
{
path: '/p2',
name: 'p2',
component: P2
},
{
path: '/p3',
name: 'p3',
component: P3
},

但是我在底部导航里点击任何三个图标,都没有任何反应,我试了一下,把mui.js从引入中拿走,路由就正常了,请问mui.js的加载顺序或者位置是不是要调整?还是就是有冲突,无法避免?我在根页面index.html也通过src和link的方式引入过mui.js mui.css,还是不行。
mui到底和vue-cli的兼容性如何啊?我现在都没啥信心要继续用Mui下去了,因为项目是要用vue-cli的,看来兼容性还是有很大问题啊!
求高手指教。。。。

2018-05-04 17:25 负责人:无 分享
已邀请:
s***@qq.com

s***@qq.com

Mui-Vue-Pug-Sass-Starter

这里面正好有一段

// src/app/nav/App.vue  

<template lang="pug">  
nav.mui-bar.mui-bar-tab  
  a.mui-tab-item(v-for='tab in tabs', :class='{ "mui-active": activeIndex == tab.index }', v-on:tap='openTabPage(tab.index)')  
    span.mui-icon(:class='tab.icon')  
    span.mui-tab-label {{ tab.name }}  
</template>  

<script>  
/* global mui plus */  
export default {  
  name: 'tabs',  
  data () {  
    return {  
      // 当前激活的 tab 序号  
      activeIndex: 0,  
      // 定义 4 个 tab  
      tabs: [  
        { index: 0, id: 'tab1', name: '首页', icon: 'mui-icon-home', url: './home.html' },  
        { index: 1, id: 'tab2', name: '消息', icon: 'mui-icon-email', url: 'http://www.dcloud.io/hellomui/examples/tableviews.html' },  
        { index: 2, id: 'tab3', name: '通讯录', icon: 'mui-icon-contact', url: 'http://www.dcloud.io/hellomui/examples/indexed-list-select.html' },  
        { index: 3, id: 'tab4', name: '设置', icon: 'mui-icon-gear', url: 'http://www.dcloud.io/hellomui/examples/icons.html' }  
      ]  
    }  
  },  
  methods: {  
    openTabPage: function (index) {  
      let styles = { top: 0, bottome: '45px', zindex: 1 }  
      // 获取父 webview,即 index.html 所属 webview  
      let main = plus.webview.currentWebview().parent()  
      // 如果当前 tab 已被激活,则返回  
      if (index === this.activeIndex) return  
      // 如 plus 中不存在当前要打开的子 webview id,则新建并追加到父 webview  
      if (!plus.webview.getWebviewById(this.tabs[index].id)) {  
        let subWebview = plus.webview.create(this.tabs[index].url, this.tabs[index].id, styles)  
        main.append(subWebview)  
      }  
      // 显示要打开的子 webview  
      plus.webview.show(this.tabs[index].id)  
      // 设置当前 tab index  
      this.activeIndex = index  
    }  
  },  
  mounted () {  
    mui.init()  
  }  
}  
</script>
  • m***@139.com (作者)

    小弟现在用MUI结合单页面的VUE-CLI还没有玩熟,多页面的还没有研究,不过还是谢谢你的热心回答!

    2018-05-15 16:56

m***@139.com

m***@139.com (作者)

求大神们指点。。。。

2***@qq.com

2***@qq.com - 80后IT男

在标签监听里加跳转

  • m***@139.com (作者)

    能再说的细点吗,求指导。。。十分感谢!

    2018-05-07 15:06

m***@139.com

m***@139.com (作者)

http://www.cnblogs.com/bobball/p/7019088.html
找到答案了,MARK

该问题目前已经被锁定, 无法添加新回复