1

所以 Vue-Material 文档 ( https://vuematerial.io/components/bottom-bar ) 说可以创建一个填充 md-bottom-bar-item 的 md-bottom-bar,同时能够制作 md- bottom-bar-item 就像一个<router-link>

他们的代码可以在“与 Vue 路由器的无缝集成”下面看到(这正是它的含义^^),我的代码如下所示:

<md-bottom-bar-item
    id="messageRoute"
    to="/Messages"
    @click="stuff"
    md-label="Notifications"
    md-icon="message">
</md-bottom-bar-item>

<md-bottom-bar-item
    id="settingsRoute"
    to="/Settings"
    @click="stuff"
    md-label="Options"
    md-icon="settings">
</md-bottom-bar-item>

这些是通知列表的选项卡,以及我的应用程序的设置页面。

当我点击一个项目时,我得到的错误实际上是这个(虽然我得到了 5 次,因为我的导航栏中有 5 个项目):

[Vue warn]: Missing required prop: "to"

found in

---> <MdButton> at src/components/MdButton/MdButton.vue
       <MdBottomBarItem> at src/components/MdBottomBar/MdBottomBarItem.vue
         <MdRipple> at src/components/MdRipple/MdRipple.vue
           <MdBottomBar> at src/components/MdBottomBar/MdBottomBar.vue
             <NavBar> at src\components\NavBar.vue
               <App> at src\App.vue
                 <Root>

顺便说一句,我得到了同样的错误@click='stuff',与它无关......我猜......

是关于 Vue-Material@1.0.0(我正在使用的那个)处于测试阶段还是?感觉就像我正在做文档中显示的内容,我什至复制粘贴并更改了一些内容,以便它适合我的应用程序。

现在我只是做了一个goTo(path)方法,只是做this.$router.replace(path),但底部栏与 Vue 的路由器不同步,具有md-sync-route属性,如下所示:

<md-bottom-bar md-sync-route>
    <!-- stuff -->
</md-bottom-bar>

不是关键问题,但该死,为什么是 Vue.js,为什么?^^'

而且,真是个巨魔:

是的,它确实对我很有效....当然^^'

4

2 回答 2

0

好的,这很有趣。

正如您给我的问题所指出的那样,这可能是版本问题,但我的 vue 版本是 2.9.2(用 进行了检查vue -V)。没关系,我还是跑了npm update -g vue,我从终端得到的答案......好吧:

+ vue@2.5.11
updated 1 package in 0.626s

现在一切正常(路由器,到等......)。

但为什么?vue-material 是否使用略有不同vue,或者某些部分被重新定义,例如路由器链接在某些元素上的行为md-bottom-bar-item

为什么npm install不能解决这个问题?无论如何,现在它可以工作了,我最后的问题可能是因为这个框架是一个测试版,几乎没有什么需要做的......或者因为我开始用 npm 等做一些事情^^

如果你知道一些对我有帮助的东西,请随时告诉我,我很高兴听到......

于 2017-12-19T11:56:57.800 回答
0

它也将在 1.0.0-beta-8 中发生,但似乎有一个要修复的承诺

https://github.com/vuematerial/vue-material/commit/6860d3a004b09baef751724c0d9bf1ebdf92b752

于 2018-05-04T03:42:48.437 回答