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

发布于 2022-09-04 09:26:27 字数 874 浏览 16 评论 0

<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);
 });

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏佲洛 2022-09-11 09:26:27

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

在你怀里撒娇 2022-09-11 09:26:27

老老实实按语法写吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文