我在vue js
中有一个全局指令Vue.directive('customDirective',{
bind(el,binding,vnode){
// need to get the parent
// append a div after the input element
}
})
我有以下HTML代码。
<div class="parentDiv">
<input type="text" name="firstName" v-customDirective="Some text"/>
</div>
<div class="parentDiv"> is loading dynamically via jquery
。我需要获取输入标记的父级,并需要在输入标记后附加一些html。我已尝试使用parent(),但它显示为父级不是函数。有什么建议吗?
答案 0 :(得分:0)
如果要访问父元素,则应该使用inserted
挂钩而不是bind
。
您可以通过el.parentElement
获取父元素。
答案 1 :(得分:0)
您可能应该使用vnode和Vue nextTick。
Map<KafkaTopicPartition, Long> specificStartOffsets = new HashMap<>();
specificStartOffsets.put(new KafkaTopicPartition("myTopic", 0), 23L);
specificStartOffsets.put(new KafkaTopicPartition("myTopic", 1), 31L);
specificStartOffsets.put(new KafkaTopicPartition("myTopic", 2), 43L);
myConsumer.setStartFromSpecificOffsets(specificStartOffsets);
如果你想使用jQuery函数parent(),你必须通过jQuery获取元素。
import Vue from 'vue';
Vue.directive('customDirective',{
bind(el,binding,vnode){
Vue.bextTick(() => {
let parent = vnode.elm.parentElement;
});
}
})
我不确定,第二个代码是否有效,但它会是这样的。