vue.js - vue取得mongodb中的資料起初顯示未定義,但還是可以渲染
仅有的幸福
仅有的幸福 2017-05-02 09:22:47
0
2
768
[Vue warn]: Error when evaluating expression "topic.meta.createAt != topic.meta.updateAt": TypeError: Cannot read property 'createAt' of undefined (found in component: <v-article>)

[Vue warn]: Error when evaluating expression "topic.meta.createAt": TypeError: Cannot read property 'createAt' of undefined (found in component: <v-article>)

這是報錯訊息,以下是我的程式碼部分。

    <h1>{{ topic.title }}</h1>
    <p class="info">
      <a v-for="tag in topic.tag" v-link="{name: 'tab', params: {tab: tag, page: 1}}" class="tag">
        {{ tag | convertTag}}
      </a>
      <a class="name"><strong>radical</strong></a>
      <span class="ask">{{ topic.meta.createAt | timeToNow }}&nbsp;发布</span>
      <span v-if="topic.meta.createAt != topic.meta.updateAt" class="update">{{ topic.meta.updateAt | timeToNow }}&nbsp;更新</span>
    </p>

這是 一個元件 topic是透過我的getters會取得到的,透過actions向mongodb請求數據,看上去一切都很正常。 。 。
convertTag和timeToNow都是我自己寫的filter

仅有的幸福
仅有的幸福

全部回覆(2)
世界只因有你

這樣的你應該先判斷存在topic.meta物件在去去它的屬性,這樣就不報錯了,
報錯的原因就是你沒有獲得meta資料的時候去獲取它的屬性

<h1>{{ topic.title }}</h1>
    <p class="info">
      <a v-for="tag in topic.tag" v-link="{name: 'tab', params: {tab: tag, page: 1}}" class="tag">
        {{ tag | convertTag}}
      </a>
      <a class="name"><strong>radical</strong></a>
      <span v-if="!!topic.meta" class="ask">{{ topic.meta.createAt | timeToNow }}&nbsp;发布</span>
      <span v-if="!!topic.meta && topic.meta.createAt != topic.meta.updateAt" class="update">{{ topic.meta.updateAt | timeToNow }}&nbsp;更新</span>
    </p>
小葫芦

topic.meta = 未定義。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板