如何在控制器中使用window.onload
功能。
window.onload= function() {
console.log("Hi Page loaded")
};
控制器不适用于整页。 我想在控制器加载至少后执行一个函数。
答案 0 :(得分:5)
您可以使用 ng-init 并使用相同的指令调用必要的功能
var app = angular.module('DemoApp', [])
app.controller('akuaController', function($scope) {
$scope.load = function() {
alert("Window is loaded");
}
});
<!DOCTYPE html>
<html>
<head>
<script data-require="angular.js@1.4.7" data-semver="1.4.7" src="https://code.angularjs.org/1.4.7/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-filter/0.4.7/angular-filter.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="DemoApp" ng-controller="akuaController">
<div ng-init="load()">
</div>
</body>
</html>
答案 1 :(得分:1)
您的控制器
angular.module('windowExample', [])
.controller('ExampleController', ['$scope', '$window', function($scope, $window) {
$scope.greeting = 'Hello, World!';
$scope.doGreeting = function(greeting) {
// This would be a starting point
$window.onload(greeting);
};
}]);
您的加价
<div ng-controller="ExampleController" ng-init="ExampleController.doGreeting()">
</div>
答案 2 :(得分:1)
//inside your controller
$scope.$on('$viewContentLoaded', function() {
// write here
// either methods or variables
});