יש לך כמה דרכים לעשות את זה, נתחיל ב-ng-init:אז ככה ייראה ה-html שלך:
<div ng-controller="TestController" ng-init="onControllerInitialize()"> <ul> <li ng-repeat="item in itemList"> </li> </ul> </div> </div>
|
וככה ייראה ה-controller שלך:
angular.module('app.controllers', []).controller('TestController', ['$scope', function ($scope) { $scope.onControllerInitialize = function () { //initialize code } }])
|
הפתרון השני הוא הרבה יותר ספציפי, נניח שאתה מבקש מהשרת נתונים, אז ב-callback שמקבל את הנתונים אתה מריץ את onControllerInitialize וכשהפונקציה מסיימת לרוץ אתה מכניס את הרשימה ל-scope, דוגמא:
angular.module('app.controllers', []).controller('TestController', ['$scope', function ($scope) { function initData() { UserService.getUsers().then(function (users) { onDataInitialize(); $scope.$apply(function () { $scope.users = users; }) }) } function onDataInitialize() { //initialize code } }])
|