ms-attr绑定的'data-xxx'属性改变之后,怎么才能让jquery的data()方法获取到改变后的值?

<div :controller="myPage">
    <span id='test_page' :attr="{'data-page':page}">{{page}}</span>
</div>

<script>
    var edit_box=avalon.define({
        $id:"myPage",
        page:1
    });
    setInterval(function(){
        console.log($('#test_page').data('page'));
        edit_box.page++;
    },500);
</script>

代码如上,每次console.log出来的都是1,只能用$('#test_page').attr('data-page') 获取到改变后的数字

--------更新--------
想到两种修改方法:
方案1是html部分改成:

<span id='test_page' :attr="{'data-page':new window.Function('page','that','a','b','$(a).data(b,page);return page;')(page,this,'#test_page','page')}">{{page}}</span>

方案2是加一个:

 edit_box.$watch('page', function(a,b){
    $('#test_page').data('page',a);
 });

_(:з」∠)_ 但是感觉两种都好麻烦..谁能给点其他建议?

阅读 4.1k
2 个回答

这个你为什么不用attr来获取呢?

老老实实按语法写吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题