【问题标题】:Run javascript code after angularjs route loaded加载angularjs路由后运行javascript代码
【发布时间】:2014-04-16 02:18:26
【问题描述】:

我需要在 angularjs 加载路线后显示警报。显示警报的代码在 angularjs 异步加载的视图中:

<script>
alert('test');
</script>

视图加载后,我希望它会运行,但它没有。我知道我可以广播并告诉它之后运行等,但我需要一个更通用的解决方案。

【问题讨论】:

标签: javascript jquery ajax angularjs asynchronous


【解决方案1】:

假设您正在讨论基于角度 SPA 内部的 ngRoute 的路线更改

将 $route 注入你的控制器:

.controller('MyCtrl', function($scope, $route){});

并在您的控制器中订阅路由更改的事件:

$scope.$on('$routeChangeSuccess', function() {
    alert('test'); // <-- alert from the question
});

【讨论】:

  • 如何在特定路线上执行此操作?
  • @AhmedNassar 这是可能的,但应该创建一个单独的问题,以便其他有该问题的人可以找到它并发现它有用。您可以在此处发布您的问题的链接,然后我会看一下。
【解决方案2】:

还有一个选项可以运行javascript函数使用ngInit

<div ng-init="initialize()"></div>

调用控制器内部的函数

app.controller('myController', function($scope){
    $scope.initialize = function () {
        alert("Page loading just completed");
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多