*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.

Reply via email to