Показать сообщение отдельно
  #1 (permalink)  
Старый 01.03.2014, 11:39
Новичок на форуме
Отправить личное сообщение для entrust Посмотреть профиль Найти все сообщения от entrust
 
Регистрация: 01.03.2014
Сообщений: 3

Передать в контроллер значение с сервера при инициализации
У меня в проекте есть страница редактирования сложного объекта object, который состоит из массы под-объектов rows и items. Решил сделать его редактирование на ангуляре, но с толкнулся с тем, что я не понимаю, как передать контроллеру id объекта, который надо показывать для редактирования.

Пытался сделать это при помощи ng-init и ng-model в скрытом инпуте (понимаю, это скорее всего нехорошо), но ни то ни другое не работает.

Кусок серверной вьюхи:
<div ng-controller="EditRowsCtrl" ng-init="objectId=<?= $object->object_id ?>">

	<input type="hidden" ng-model="objectId" value="<?= $object->object_id ?>">

	<div-loader ng-hide="{{isDataLoaded}}"></div-loader>
	<div-error ng-show="{{isDataNotLoaded}}" message="Не удалось загрузить данные."></div-error>

	<p>#{{objectId}}</p>

	<div ng-repeat="row in rows">
		<edit-row-pre row="row"></edit-row-pre>
	</div>

</div>


Контроллер:
msApp.controller("EditRowsCtrl", function($scope, $http){
	$scope.rows = $http.get("/api/v1/object/rows/"+$scope.objectId)
		.success(function(data, status, headers, config){
				$scope.isDataLoaded = true;
		})
		.error(function(data, status, headers, config){
				$scope.isDataLoaded = false;
				$scope.isDataNotLoaded = true;
		});

});


На странице objectId отображается корректно, а в контроллере $scope.objectId значится undefined.
Подскажите пожалуйста, куда смотреть в доках, и как это вообще принято делать в ангуляре ?
Ответить с цитированием