首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsPlumb beforeDrop和ngToast消息没有立即显示

jsPlumb beforeDrop和ngToast消息没有立即显示
EN

Stack Overflow用户
提问于 2015-10-07 20:17:59
回答 1查看 351关注 0票数 1

我正在开发一个使用伟大的jsPlumb库来创建节点接口的站点。

jsPlumb有一个事件'beforeDrop‘,该事件在连接两个端点之间的连接之前触发,我希望使用该事件检查条件,然后决定是否允许连接。

如果不允许连接,我想使用ngToast向用户显示一条消息。

这是我的“beforeDrop”函数

代码语言:javascript
复制
jsPlumb.bind('beforeDrop', function(info){

    // Check that they property types match
    var outNodeType = $('#'+info.sourceId).data( "ptype" );
    var inNodeType = $('#'+info.targetId).data( "ptype" );


    if(outNodeType !== inNodeType){

        showMessage('warning', '<strong>Error:</strong> unable to connect '+outNodeType+' to '+inNodeType)

        return false // false for not establishing new connection

    }

    return true; // true for establishing new connection

});

这是显示ngToast消息的函数:

代码语言:javascript
复制
function showMessage(messageType, message){
        ngToast.warning({
            class: messageType,
            content: message
        });
    }

问题是,直到我单击页面上的任何位置,ngToast消息才会出现。一旦我点击,消息就会出现,一切都会正常运行。

我不知道这是jsPlumb和angularjs的问题,还是如何调用ngToast函数的问题。

我很想知道如何解决这个问题。蒂娅!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-07 20:47:59

jsPlumb事件将被称为角上下文之外的事件。好像你在从角码外面调用角码。要使同步角,您需要在调用烤面包机消息方法之后调用$scope.apply()。所以你一点击面包就会显示出来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33001703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档