2016-12-06 47 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包装它:'$(...)' –