javascript - angular中的页面上显示数据为什么要鼠标移入事件才能触发?鼠标移入事件只是控制一个提示框的显示和隐藏,和页面数据没有关系呀?
黄舟
黄舟 2017-04-11 11:24:18
[JavaScript讨论组]

我们是使用angular框架来开发,当我使用ajax模拟请求本地的json数据时,没有任何问题,页面都能渲染数据,正常展示。由于后台是使用Phoenix框架开发,所以我们的代码都要放入该框架中,这时候数据来源就是websocket,我在控制台都能打印出从后台获取的json数据,但是页面上却没有任何显示,当我无意中鼠标移入一个p(该p就是一个标题,绑定一个ng-mouseenter指令,仅用于控制一个提示框的显示和隐藏)的时候,整个页面的数据瞬间都渲染出来,这个p和页面数据八竿子打不着的事情,怎么能让整个页面的数据渲染出来啦?后来我继续查找原因,一个背景图片绑定一个ng-click指令,当我点击这个背景图片的时候,页面上所有的数据居然也能正常显示,但是我刷新页面的时候,所有渲染的数据又全部都消失,只有样式。请大神指点?
以下是一小部分代码:
JS:

    channel.join().receive("ok", function (resp) {
        // console.log(resp,5252);
    }).receive("error", function (resp) {
        console.log("Unable to join", resp,9999);
    });
    channel.push("get_today_data_summary", {});

    channel.on("get_today_data_summary", function (payload) {
        // 今日数据总览开始
    $scope.items=payload.data;
    
    });

    

HTML:

                

正在咨询人数

{{items.consulting_user}}

当前在线客服数{{items.online_waiter}}

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
大家讲道理

应该是未触发angular的脏数据检查。
$scope.$apply();或者$scope.$digest在你的修改数据语句之后加上这个,手动触发。
点击更新视图的原因跟简单,因为angular的指令都会触发脏数据检查,ng-click就是指令。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号