*I have following problem. There is a service which is responsible to store
some selected object id. And when a object is selected, $rootScope
broadcasts event to notify involved controller.*
var SelectedObjectFactory = function (objectsFactory, $rootScope) {
var selectedObjectId;
var selObjFactory = {};
selObjFactory.SelectObject = function (objectID) {
selectedObjectId = objectID
$rootScope.$broadcast("ObjectSelected", { selectedId:
selectedObjectId });
};
selObjFactory.GetSelectObjectId = function () {
return selectedObjectId;
};
return selObjFactory;
};
SelectedObjectFactory.$inject = ['objectsFactory', '$rootScope'];
app.factory("selectedObjectFactory", SelectedObjectFactory);
*And i use $scope.attachedProperties in view with ng-repeat to create list
of properties.*
var FormController = function ($scope, selectedObjectFactory,
eventPropertiesFactory) {
$scope.$on("ObjectSelected", function (event, selectedObject) {
$scope.attachedProperties =
eventPropertiesFactory.GetPropertiesForEventById(selectedObject.selectedId);
});
FormController.$inject = ['$scope', 'selectedObjectFactory',
'eventPropertiesFactory'];
angular.module("svgObjectsApp").controller("FormController",
FormController);
*This is attachedPropertyFactory code:*
var AttachedPropertiesFactory = function () {
var propertiesArray = [];
var propertiesFactory = {};
propertiesFactory.PutNewPropertiesInArray =
PutNewPropertiesInArray;
propertiesFactory.GetPropertiesForEventById =
GetPropertiesForEventById;
function GetPropertiesForEventById(eventId) {
selectedProperties = [];
for (var i = 0; i < propertiesArray.length; i++) {
if (propertiesArray[i].eventId === eventId) {
selectedProperties.push(propertiesArray[i]);
}
}
return selectedProperties;
}
function PutNewPropertiesInArray(properties) {
ClearPropertiesArray();
for (var i = 0; i < properties.length; i++) {
propertiesArray.push(properties[i]);
}
};
function ClearPropertiesArray() {
propertiesArray.length = 0;
}
return propertiesFactory;
};
AttachedPropertiesFactory.$inject = [];
angular.module("svgObjectsApp").factory("eventPropertiesFactory",
AttachedPropertiesFactory);
*And i use $scope.attachedProperties in view with ng-repeat to create list
of properties.*
<div class="col-lg-3" ng-controller="FormControler">
<table>
<tbody>
<tr ng-repeat="property in attachedProperties">
<td class="col-lg-6
tabletitle">{{property.propertyName}}</td>
<td class="col-lg-6"><input type="text"
value={{property .propertyValue}} / > </td>
</tr>
</tbody>
</table>
</div>
*In controller $scope.$on works fine. I see in developer tool that all
variables are updated.*
* Problem is list in html is not created. I asume that i'm
missing something about how ng-repeat derictive works with controller,
but can't find solution in Angular JS documentation. *
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.