2016-12-06 42 views
1

目前我正在使用Laravel和Vue,現在我想使用第三方JavaScript庫來標記輸入字段。 https://github.com/xoxco/jQuery-Tags-Inputvue組件外的調用函數

我必須通過調用初始化JavaScript中的字段:

$('#tags').tagsInput(); 

然而,標籤的輸入欄是我的VUE構件的內部。我曾嘗試從vue調用這一行,但這不起作用。

現在我想知道我有哪些選項?我可以在我的javascript上聲明一個函數並從Vue組件內調用它嗎?我可以將整個事情作爲變量傳遞嗎?還是有其他解決方案來處理這種情況?

有人有這方面的經驗,也許知道我必須採取正確的步驟?提前致謝。

+0

當你在做這個電話?你不能使用普通的'document.ready'處理程序。理想情況下,這將放置在正在生成id爲「tags」的元素的組件的[mounted](https://vuejs.org/v2/api/#mounted)處理程序中。 – PatrickSteele

+0

嘗試窗口。$('#tags')。tagsInput()在你的ready函數中。 – Deepak

回答

0

您可以通過this.$el獲得vue組件DOM元素。所以,你可以做到以下幾點:

$(this.$el.querySelector('#tags')).tagsInput(); 

但請記住,這是有效的,只要你的組件是不是Fragment Instance,即它有一個根HTML標記

+0

我得到tagsInput();不是一個功能。我認爲這是因爲我無法從vue內訪問JavaScript? – Don

+0

@Don'querySelector'返回一個'HTMLElement',用jquery包裝它:'$(...)' –