vue-material的md-table插槽范围渲染因beta8而失败

时间:2018-04-02 14:00:37

标签: javascript vue-material

我用这支笔来证明我的问题。

https://codepen.io/sfyrious/pen/zWarZa

对我而言,vue-material上的1.0.0-beta-8看起来很糟糕。

<div id="app">
  <md-table v-model="entries" md-card>
  <md-table-head>This table does not render.</md-table-head>
    <md-table-row slot="md-table-row" slot-scope="{ entry }" :key="entry.uid">
      <md-table-cell md-label="UID" md-sort-by="uid" md-numeric>{{ entry.uid }}</md-table-cell>
      <md-table-cell md-label="Name" md-sort-by="name">{{ entry.name }}</md-table-cell>
      <md-table-cell md-label="Alive?" md-sort-by="alive">{{ entry.alive }}</md-table-cell>
    </md-table-row> 
  </md-table> 
  <md-table md-card>
    <md-table-head>This table renders fine</md-table-head>
    <md-table-row v-for="entry in entries" :key="entry.uid">
      <md-table-cell md-label="UID">{{ entry.uid }}</md-table-cell>
      <md-table-cell md-label="Name">{{ entry.name }}</md-table-cell>
      <md-table-cell md-label="Alive?">{{ entry.alive }}</md-table-cell>
    </md-table-row> 
  </md-table> 
 </div>

- 单独的js文件

Vue.use(VueMaterial.default)

var myapp = {
      name: "myApplication",
      data: function data() {
        return {
          entries: {
            0 : {
              "uid" : 1,
              "name" : "Bill",
              "alive" : true
            },
            1 : {
              "uid" : 2,
              "name" : "Bob",
              "alive" : true
            },
            2 : {
              "uid" : 3,
              "name" : "Sally",
             "alive" : false
            }
       }
     }
   }  
}

var app = new Vue(myapp)
app.$mount("#app")

第一个表根本不会渲染,但第二个表渲染得很好。任何的想法?可能导致麻烦的是什么?我试图删除任何可能破坏它的东西。这里的帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

问题在于'条目'应该是数组而不是对象。并且插槽范围必须是{item}。

我被vue-material的优秀开发人员纠正了!