javascript - 如何使用 this.$el 访问不同的元素然后根元素

标签 javascript vue.js vuejs2

在我的模板中我得到了这个:

    <div v-show="showContent" class="content-block-body">
        <div class="slider-pro">
            <div class="sp-slides">
                <slide v-for="block in subItems"
                  :uniqueId="block.uniqueId"
                  v-bind="block.settings"
                  :container-preview="containerPreview"
                  :transparent-input-background="transparentInputBackground"
                  v-on:remove="removeBlock(block.uniqueId)"
                  :key="block.uniqueId">
                </slide>
            </div>
        </div>
    </div>

我正在使用需要锁定的jquery插件

<div class="slider-pro">

标签。如果我删除第一个 div,则以下内容有效:

        this.el = jQuery(this.$el)
        this.el.sliderPro()

但是如果我有第一个 div,插件将无法正确初始化。如何使用 this.$el 找到模板内的其他 div,以便我可以将其正确传递给 jQuery,然后使用它来初始化插件。

最佳答案

在该元素上设置ref

<div class="slider-pro" ref="slider">

然后使用引用。

jQuery(this.$refs.slider)

请记住,只有在渲染组件后(在挂载中或之后),这才会起作用。

关于javascript - 如何使用 this.$el 访问不同的元素然后根元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46615512/

相关文章:

javascript - 如何关闭所有websocket连接

javascript - 关于javascript闭包的困惑

javascript - 家长补偿。没有听子 $emit 的声音

vue.js - 在 VueJs 应用程序中实现表情符号

javascript - 浮起来的行

javascript - 在 Qualtrics 调查中使用 Javascript 日期选择器 - 将日期携带到调查字段

javascript - 如何在vuetify中强制使用v-switch?

javascript - 升级 npm 包后功能变慢

vue.js - v-app-bar 在低页面内容上向下拉伸(stretch),而不是保持其默认高度

vuejs2 - v-on :keyup not firing function