【问题标题】:Can't Embed Vue Component into an md-app using Vue Material无法使用 Vue Material 将 Vue 组件嵌入到 md-app 中
【发布时间】:2018-08-17 08:45:30
【问题描述】:

我有以下...

PageHeader.vue

<template>
  <span> ${message} </span>
</template>
<script>
    export default{
      data: function(){
        return {message: "asdsad" };
      }
    }
</script>

app.vue

<template>
<jg-header></jg-header>  
</template>
<script>
  import PageHeader from "./PageHeader.vue"
  export default{
    components: {
      "jg-header": PageHeader
    }
  }
</script>

这很好用,所以我想将它转换为使用 Vue Material,所以我将 app.vue 更改为这个...

<template>
  <md-app> <jg-header></jg-header> </md-app>  
</template>
<script>
  import PageHeader from "./PageHeader.vue"
  export default{
    components: {
      "jg-header": PageHeader
    }
  }
</script>

它似乎创建并渲染了 Vue 材质组件,但是,自定义组件并没有出现在任何地方。如何让 Vue 组件在 md-app 中实际呈现

更新

由于有些混乱,我创建了一个名为 Vue.use 的 Vue 应用程序(这就是它呈现的原因)

Vue.use(VueMaterial);
new Vue(App).$mount("#my-id");

【问题讨论】:

  • 我还声明了正确渲染的 vue 材质组件,这就是我认为它很明显的原因。它不会在不使用的情况下渲染 dom。对不起,你弄糊涂了。
  • 如果 DOM 存在,那么问题可能是 CSS,这将由 import 'vue-material/dist/vue-material.min.css' 解决。你是在进口吗? (看看没有什么是显而易见的?)
  • 是的,这又不是样式,而是自定义组件未呈现。就像在渲染材质时,它不会渲染它下面的非材质组件。我今天会尝试做一个plunker
  • 尽管文档说 md-toolbar 是 md-app-toolbar 的别名,但它看起来好像不能正常工作。所以这是一个问题,但当我尝试将其作为组件时仍然失败。 codepen.io/anon/pen/vREOYy?editors=1010

标签: vuejs2 vue-component vue-material


【解决方案1】:

尝试使用 div 将标签包装在模板内:

<template>
  <div>
   <md-app> 
    <jg-header></jg-header>
   </md-app>
  </div>
</template> 

【讨论】:

  • 没有骰子相同的结果我看到 md-app-scroller 然后里面什么都没有
【解决方案2】:

&lt;md-app&gt; 具有特定的内容元素。将您的内容包装在 &lt;md-app-content&gt; 中。

代替:

<template>
  <md-app> <jg-header></jg-header> </md-app>  
</template>

做:

<template>
   <md-app>
      <md-app-content>
         <jg-header></jg-header>
      <md-app-content>
   </md-app>  
</template>

或者,使用工具栏:

<template>
   <md-app>
      <md-app-toolbar> ... </md-app-toolbar>
      <md-app-content>
         <jg-header></jg-header>
      <md-app-content>
   </md-app>  
</template>

【讨论】:

  • 我会尝试,但这不适用于我的情况,因为模板本身将包含一个 md 工具栏,根据他们的文档应该可以直接在应用程序下
  • *模板本身*,你组件的模板会包含工具栏,是吗?
  • 没有自定义模板最终会,但是,即使没有它,这也不起作用。
  • 再说一次,我稍后会尝试做一个 plunker,也许你会明白什么意思
  • 我假设您使用的是不同的模板引擎,但在默认的模板引擎中您确实知道它是 {{ message }} 而不是 ${message},是吗?
猜你喜欢
  • 1970-01-01
  • 2018-05-12
  • 2021-12-11
  • 2020-08-17
  • 2018-03-26
  • 2017-05-18
  • 2017-11-28
  • 2018-10-13
  • 2018-10-01
相关资源
最近更新 更多