为什么 nextTick 在下面的例子中需要计算元素高度?据我所知, 下一步 用于在修改反应性数据后等待DOM更新,但以下情况除外:
nextTick
下一步
Vue.directive('test', { bind: function(el) { console.log($(el).css('height')) Vue.nextTick(() => { console.log($(el).css('height')) }) } }); var demo = new Vue({ el: '#demo' })
<div id="demo"> <div v-test> lorem lorem </div> </div>
http://jsfiddle.net/LPfpS/463/
你用错钩子了。
钩子函数 一个指令定义对象可以提供几个钩子 功能(全部可选): bind:当指令第一次绑定到 元素。在这里你可以做一次性的安装工作。 inserted:当绑定元素插入到其 父节点(这只保证父节点存在,而不是 必须在文件中)。
钩子函数 一个指令定义对象可以提供几个钩子 功能(全部可选):
bind:当指令第一次绑定到 元素。在这里你可以做一次性的安装工作。
inserted:当绑定元素插入到其 父节点(这只保证父节点存在,而不是 必须在文件中)。
Vue.directive('test', { inserted: function(el) { console.log($(el).css('height')) } }); var demo = new Vue({ el: '#demo' })
见 Fiddle