【问题标题】:load url on angularJs not detect onload event在angularJs上加载url未检测到onload事件
【发布时间】:2015-02-06 09:35:19
【问题描述】:

我正在使用 AngularJS 框架,但我遇到了问题... 我有一个指令,只有在加载窗口时才起作用。

screensCreators.directive('createscreen', function () {
    return {
        restrict: "A",
        transclude: true,
        scope: false,
        link: function (scope, element, attrs) {

            $(window).load(function () {
                console.log(scope);

             });
        };

    };
});

当我证明刷新页面按下“F5”或按下浏览器栏中的按钮时,我的页面有一个指令并且这些工作正常...... 但是如果我从栏刷新或加载页面,在栏中写入 url 并加载...我的指令不起作用,因为没有进入加载事件....

为什么?

谢谢

【问题讨论】:

  • 您那里有单页应用程序吗?因为在这种情况下,重写 URL 可能只会触发 Angular 内部的 RouteChange 事件,并且页面会在不重新加载浏览器窗口的情况下更改。
  • 我需要,如果我从浏览器栏刷新页面,这个页面仍然工作,但我需要这个指令在页面加载时工作,当加载样式表时

标签: javascript jquery angularjs html


【解决方案1】:

我解决了我的问题...

这很简单,也不是很优雅......

我需要在页面加载后加载这个指令......并且事件“load”,“afterprinting”,......不能正常工作

我的解决方案是添加一个 TimeOut 时间为“1”,这样,当页面加载时,总是在之后加载脚本

setTimeout(function(){....},1);

我知道这不是最好的解决方案,但它对我来说很好。 谢谢

【讨论】:

    【解决方案2】:

    取决于你想做什么,等待加载事件不是要走的路。

    通常加载只会在第一个页面加载时执行,之后您不会真正重新加载页面,而是在单页应用程序中导航时执行路由更改

    请参考this related questionthe documentation for $route

    【讨论】:

    • pff 对不起我的英语......当我加载样式表时我需要该事件工作,如果我退出此事件,指令工作正常,但我需要等待样式表应用我的指令
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    相关资源
    最近更新 更多