2013-09-06 3 views
1

이 새 것입니다.

나는 2 개의 div가있다; 새 값을 서버에 게시 할 때 게시 작업이 올바르게 작동합니다.

이 게시물이 다른 div의 범위를 어떻게 업데이트하는지 확인 하시겠습니까? (ng-repeat를 사용하여 div를 새 항목으로 업데이트)

데이터가 새로 고침 될 때 HTTP.post 동작이 작동하는 것 같습니다.

$ scope.apply()를 시도했지만 제대로 작동하지 않습니다.

// this is the controller to get the data from the server 
    app.controller('projectsController', 
     function projectsController($scope, projectsFactory){ 
       $scope.projects = projectsFactory.query(); 
     }); 

와 공장이 사용자의 입력을 서버

 app.controller('projectEditController', function($scope, projectEdit){ 
       $scope.projectEdit = projectEdit; 
    }); 

그리고 서비스에 다시 게시 할 수있는 컨트롤러 서버

app.factory('projectsFactory', 
     function($resource,localStorage, $rootScope, $http){ 
     return $resource('/api/project:id', {id: '@id'}); 
     }); 

에서 데이터를 얻을 수 있습니다 서버에 데이터 게시

  app.service('projectEdit', 
        function projectEdit(localStorage,$rootScope, $http) { 

     var self = this; 

     self.add = function(newProject,projects) { 
      newProject = angular.copy(newProject); 

       var newProject = (JSON.stringify(newProject)); 

     return $http.post('/api/project', newProject) 
        .then(function(response) { 
        newProject.id = response.data.id; 

    }); 

}; 

Sever에 데이터를 게시 할 때 괜찮을 것으로 보입니다.

내가 알아 내려고하는 것은 "$ scope.projects = projectsFactory.query();를 얻는 방법입니다." 게시 작업이 완료되면 업데이트 할 수 있습니다.

이렇게하면 HTML의 표시가 업데이트됩니다.

바라건대 이것은 좋은 개발자가 쉽게 해결할 수 있기를 바랄뿐입니다. 시간 내 주셔서 감사합니다.

코너

+0

이벤트를 $ 브로드 캐스트하고 결과를 첨부 할 수 있습니다. 그런 다음 컨트롤러에서 이벤트를 듣고 ('$ on') 적절하게 행동하십시오. –

+0

아래의 대답을 참조하십시오. – conr404

답변

0

한 래퍼 사업부를 만들고, NG 컨트롤러로에 컨트롤러를 설정합니다. 래퍼 div에 2 개의 div를 넣으십시오. 이제 컨트롤러에 의해 생성 된 스코프가 두 div에서 모두 사용할 수 있습니다. 이것은 쉬운 방법입니다. 무언가가 해당 범위의 데이터를 업데이트하고 해당 변수를 참조하는 dom에 다른 항목이 있으면 dom이 원하는대로 새로 고침됩니다. 각 하위 div에 대해 서로 다른 컨트롤러가 필요하다면 상속 된 범위를 경계해야합니다. 이런 상황에서 하나의 컨트롤러 만 있으면 훨씬 쉽습니다. 그건 그렇고 scope.apply()에 대해 언급 한 것을 보았습니다. 조심해라, apply()는 당신이 원하는 자바 스크립트 함수가 아니라 진짜 자바 스크립트 함수이다. scope()를 호출해야합니다. $ apply(), $ apply는 각도 함수이며 혼란을 피하기 위해 scope $. digest를 대신 호출 할 수 있습니다.

+0

감사합니다. 백만 건, 코드가 잘 들여 쓰기가 쉽지 않아 다시 작성했습니다. – conr404

관련 문제