警告:Angular新手未来。
我在angular.js页面中有这段代码
<div class="clearfix" ng-controller="Controller">
<h1>Active Ideas
<button type="button" ng-click="search()">get Ideas</button></h1>
<hr>
然后我将控制器定义为:
function Controller($scope, $http) {
$scope.search = function(){...
它运作正常。
我想在dom准备就绪时执行search()函数......
我尝试从$(function(){...调用它但我不知道如何从我的控制器手动执行方法
还尝试了
$scope.$on('$viewContentLoaded', function() {
但无法使其工作(也找不到太多文档......)
答案 0 :(得分:14)
初始化Controller时应执行search
。即。
function Controller($scope, $http) {
$scope.search = function(){...};
$scope.search();
}
当Angular的依赖注入构造您的控制器时,您就知道您的视图已编译,链接并准备好初始化代码。
答案 1 :(得分:0)
有时你需要等待第一个摘要,否则你的DOM会准备就绪,但它没有你在$ scope中设置的任何值,让我们说一个带有ng-的元素重复链接到$ scope中的数组并没有准备好。为了使其正常工作,您需要将代码包装在$timeout(..., 0)
中,这样您的代码将在第一次摘要后立即执行。