Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs Angular材质后退按钮执行两次_Javascript_Node.js_Angularjs_Material Design_Event Propagation - Fatal编程技术网

Javascript Angularjs Angular材质后退按钮执行两次

Javascript Angularjs Angular材质后退按钮执行两次,javascript,node.js,angularjs,material-design,event-propagation,Javascript,Node.js,Angularjs,Material Design,Event Propagation,我刚刚将angularjs v1.1.20版纳入我的angularjs v1.3.13项目,现在,只有在移动设备上运行并按下后退按钮时,后退操作才会执行两次。在调试期间研究调用堆栈时,我注意到angular back按钮eventHandler在一行中被调用了两次,如下面的屏幕截图所示。你知道如何阻止这种事情发生吗 似乎我可以通过修改angular material.js(v1.1.20)并添加以下内容来解决此事件传播问题: 4095 eventObj.srcEvent=srcEvent; +e

我刚刚将angularjs v1.1.20版纳入我的angularjs v1.3.13项目,现在,只有在移动设备上运行并按下后退按钮时,后退操作才会执行两次。在调试期间研究调用堆栈时,我注意到angular back按钮eventHandler在一行中被调用了两次,如下面的屏幕截图所示。你知道如何阻止这种事情发生吗


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

4095 eventObj.srcEvent=srcEvent;
+eventObj.immediatePropagationStopped=true;
4096
4097角度延伸(eventObj{
...
4166 eventObj.srcEvent=srcEvent;
+eventObj.immediatePropagationStopped=true;
4167 eventPointer.target.dispatchEvent(eventObj);
或者运行以下“查找并替换正则表达式”:

Find-
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.立即复制停止=!0,