vuejs / Discussion

Vue.js discussion
167 stars 17 forks source link

如何在模版渲染后绑定jquery插件 #174

Closed zb188 closed 9 years ago

zb188 commented 9 years ago

$('#btn-map').on('click', 事件没有反映

<div class="wrap" id="dataView">
            <script type="text/x-template" id="item-template">
           view
            ...
          <span id="btn-map">显示地图</span>
           </script>
</div>
 new Vue({
      el: '#dataView',
      template:'#item-template',
      data: {
            items:data
       }
});
 side('#sideBox',{'photos':photoArray});

//显示地图
$('#btn-map').on('click',function(){
        var J_mapBox = $('#J_mapBox');
          if(J_mapBox.find("iframe").size()==0) {
                              ...
          }
});
yyx990803 commented 9 years ago

你指的绑定事件是什么意思?按理说这样就可以了啊。

yyx990803 commented 9 years ago

你提供的上下文也太不完整了...

zb188 commented 9 years ago

上下文已经在1楼补充

yyx990803 commented 9 years ago

为什么要在外面用 jQuery 加事件?用 v-on

zb188 commented 9 years ago

好吧 我用v-on ,v-on可以on哪些事件,貌似没有找到完整api,是完全和jq事件一样吗?

yyx990803 commented 9 years ago

任何原生 dom 事件都可以。

pronebel commented 9 years ago

借这个问一个问题。

比如一个列表,一开始渲染的时候,会给一个空数组进行渲染,不然会显示出 {{xxx}}表达式在页面上,然后ajax拿数据,拿到之后重新赋值数据,并给列表dom绑定一个类似swipe功能的初始化事件。但好像数据的监听并重绘异步的,这样事件的初始化,可能提前完成了,而后的dom才渲染完成,这样列表的dom并没有进行swipe的初始化。 我在重新綁数据的同时,用setTimeout延迟了swipe事件的初始化才ok。

yyx990803 commented 9 years ago

参考这里:http://vuejs.org/guide/best-practices.html#Understanding_Async_Updates

bryantchan commented 8 years ago

@yyx990803 现在best-practices移到哪里了?