在angularjs路由加载后运行javascript代码

use*_*172 8 javascript ajax jquery asynchronous angularjs

我需要在angularjs加载路径后显示警报.显示警报的代码段位于由angularjs异步加载的视图中:

<script>
alert('test');
</script>
Run Code Online (Sandbox Code Playgroud)

加载视图后,我希望它能够运行,但事实并非如此.我知道我可以广播并告诉它之后运行等,但我需要一个更通用的解决方案.

Bro*_*cco 22

假设您正在谈论基于ngRoute内部角度SPA的路线变化

将$ route注入您的控制器:

.controller('MyCtrl', function($scope, $route){});
Run Code Online (Sandbox Code Playgroud)

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

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


Mo.*_*Mo. 5

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

<div ng-init="initialize()"></div>
Run Code Online (Sandbox Code Playgroud)

调用控制器内部的功能

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