iT邦幫忙

0

VUE Component props傳送ARRAY時變成STRING的問題

  • 分享至 

  • twitterImage

今天嘗試以props傳送Array類資料時,
發現Array傳送到component時變成了string
查了很久都沒查出由來,
請各位大大幫忙一下。

vue透過script運行
<script src="https://unpkg.com/vue@latest/dist/vue.min.js"></script>

index.html

<section id="blogs">
    <blog :title="blogs[0].title" :date="blogs[0].date" :paragraphs="blogs[0].paragraph" :blog="[blogs[0].paragraph]"></blog>
</section>

main.js (主頁的js檔 DATA的部份)
用array的原因是不止一個

    data: {
        blogs:[
            {
                title:"測試用文章",
                date:"5 Aug",
                paragraph:[
                    "hihi is for testing",
                    "2nd paragraph"
                ]
            },
        ]
    },

blog.js (component的部份)

Vue.component('blog', {
    template:
        `
        <div class="container">
            <h2>{{title}}</h2>
            <div>{{date}}</div>
            <p>{{paragraphs}}</p>
            <p>{{typeof(paragraphs)}}
            <p v-for ="(paragraph, i) in paragraphs" v-html="paragraph"></p>
        </div>
                `,
    props: {
        title: {
            type: String,
            required: true,
        },
        date: {
            type: String,
            required: true,
        },
        paragraphs: {
            type: Array,
            required: true,
        },
    },
})
let blog = new Vue({
    el: '#blogs',
})

下圖是出來的結果...

看更多先前的討論...收起先前的討論...
frank575 iT邦新手 4 級 ‧ 2021-08-05 17:55:58 檢舉
代碼看起來沒問題,應該要顯示 object 的,請問這段代碼截圖跟結果截圖是一致的嗎?
是的,試過直接 :paragraphs="['test','test']"
也是會變成了string...
frank575 iT邦新手 4 級 ‧ 2021-08-05 22:24:13 檢舉
我這邊無法復現,把一樣的代碼抄到 Codepen 上顯示的是Array...
通靈亡 iT邦高手 1 級 ‧ 2021-08-06 00:24:58 檢舉
我嚴重懷疑是不是存錯檔案,或者遇到瀏覽器快取問題
Ctrl+F5 重新整理並強制清除快取,從頭到尾比對一下程式碼有沒有什麼差異。
https://jsfiddle.net/643rwz28/
不覺得
```
:blog="[blogs[0].paragraph]
```
這邊很奇怪嘛??
自已研究試試,我就只提示到這
frank575 iT邦新手 4 級 ‧ 2021-08-06 08:28:38 檢舉
這邊是很奇怪,不過他沒用到這個資料,可能在測試,所以我直接無視這段,卡快取應該是最有可能的了
剛剛試過把component的內容都放到 main.js的話就能成功顯示出array來
可是分開2個js檔就不行了
frank575 iT邦新手 4 級 ‧ 2021-08-06 12:33:07 檢舉
我扔到不同 js 也是正常的,這可能需要看到你的項目代碼才能知道情況了
Andy Tsou iT邦新手 5 級 ‧ 2021-10-14 15:44:04 檢舉
會不會有哪一段程式碼 改到了blogs裡的para這個屬性?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答