【问题标题】:Angularjs Angular-Material Back Button Executes TwiceAngularjs Angular-Material后退按钮执行两次
【发布时间】:2020-03-11 18:49:41
【问题描述】:

我刚刚将 angular-material v1.1.20 合并到我的 angularjs v1.3.13 项目中,现在,只有在移动设备上运行并按下后退按钮时,才会执行两次后退操作。在调试期间调查调用堆栈时,我注意到有角度的后退按钮 eventHandler 连续调用两次,如下面的屏幕截图所示。知道如何阻止这种情况发生吗?

【问题讨论】:

    标签: javascript node.js angularjs material-design event-propagation


    【解决方案1】:

    似乎我可以通过简单地修改 angular-material.js (v1.1.20) 并添加以下内容来解决此事件传播问题:

    4095 eventObj.srcEvent = srcEvent;
         + eventObj.immediatePropagationStopped = true;
    4096
    4097 angular.extend(eventObj, {
    ...
    4166 eventObj.srcEvent = srcEvent;
         + eventObj.immediatePropagationStopped = true;
    4167 eventPointer.target.dispatchEvent(eventObj);
    

    或者通过运行以下查找和替换正则表达式:

    查找 - eventObj\.\$material = true;\n eventObj\.pointer = eventPointer;\n eventObj\.srcEvent = srcEvent;

    替换 - $0\n eventObj.immediatePropagationStopped = true;

    angular-material.min.js 也可以通过运行以下查找和替换正则表达式来修改:

    查找 - \$material=!0,o\.pointer=n,o\.srcEvent=e,

    替换 - $0o.immediatePropagationStopped=!0,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多