javascript - vue.js 侦听DOM结构改变,要不要自己写一个自定义指令?
PHPz
PHPz 2017-04-10 17:23:28
0
4
508

RT~~~~

我是想侦听
DOMSubtreeModified // for FF 3+, Chrome
DOMNodeInserted // for FF 2, Safari, Opera 9.6+
DOMNodeRemoved // for FF 2, Safari, Opera 9.6+

或者使用
MutationObserver API

例如有一个简单的指令就好啦,正准备写,就问一下
<com v-on-dom-change="callback"/>

事情缘由是这样的,我在做一个容器组件。

<p>
    <slot name="content">
        <!-- ... warped componnents -->
    </slot>
    <p v-if="scrollEnabled" class="scroll-bar vertical"></p>
</p>

我希望侦听到slot里的组件当DOM结构变化的时候,在这个容器组件中作出回调。

这些事件,当DOM结构改变时触发,不知需不需要造轮子?

PHPz
PHPz

学习是最好的投资!

모든 응답(4)
伊谢尔伦

vue并不能监听dom变化 只能监听数据的变化

阿神

其实vue的思想是组件式开发的思维方式,不要去想着修改dom,监听dom;而是换个角度,从监听数据的方式去间接性的达到监听dom的目的,组件的开发是数据驱动dom的,这是必须要理解到位的。
还有带slot的组件,不应该再去干预slot里面的内容了;而是在关系到slot内容的父组件去设定指令。

黄舟

dom结构变化应该是有方法或者事件触发的,触发的时候trigger子组件一个事件,父组件监听,这样行不行

阿神

你的需求是什么,要监听dom变化,如果这样不如在改变dom的地方加东西

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿