我想在Angular模板中加载(以及稍后调整大小)一个巨大的SVG。使用(window).load来完全预加载SVG应该可行。调整大小的方法在指令中有很好的限制并起作用:
//angular.element(document).ready(scope.resizableF);
angular.element($window).bind('load', scope.resizableF);
angular.element($window).bind('resize', scope.resizableF);
<div resizable-f="resize" resizable="true">...
但不幸的是,如果SVG在提供的模板中,似乎(窗口).load事件不起作用。这里有一个小问题来解释:http://plnkr.co/edit/l0miPluX21HHe6fiV4AZ?p=preview
以下是结果(绑定到(窗口)。('resize')始终启用,这不是问题):
-svg仅在index.html&amp;&amp ;;中启用(文件).ready()在指令中启用:resize()在页面加载和调整大小时执行
-svg仅在index.html&amp;&amp ;;中启用($ window)bind。('load')在指令中启用:resize()在页面加载和调整大小时执行
svg仅在content.html&amp;&amp ;;中启用(文件).ready()在指令中启用,导航到内容:resize()在页面加载和调整大小时执行
-svg仅在content.html&amp;&amp ;;中启用($ window)bind。('load')在指令中启用,导航到内容:resize()在调整大小时执行但不在页面加载时执行
问题是:如果在模板中预加载SVG(而不是index.html),我如何使用(窗口).load?为什么它适用于(窗口).resize但不适用于(窗口).load?