0

JHipster를 사용하여 프로젝트를 만들었으며 늦게까지 꽤 매끄럽게 항해했습니다. 그러나 main.html에서 객체를 편집 할 때 문제가 발생했습니다. 나는 라우터가 가리키는 posts.html 페이지에있을 때 포스트를 성공적으로 편집 할 수 있지만, main.html에서 똑같은 코드로 할 수는 없다. 내 메인 페이지의 postController에서 정보를 호출 할 수 있으며 적절히 표시됩니다. 그러나 모달 팝업창에 내 데이터를 표시 할 수 없습니다. 내 console.log ($ scope.post)가 편집하려는 객체를 반환하기 때문에 컨트롤러가 정보를 수신하고 있음을 알고 있습니다. 그러나 그 정보는 내 모달로 전송되지 않습니다. 어떤 도움을 주셔서 감사합니다. 호출모달 jhipster로 오브젝트 편집하기

버튼 편집 :

//inside postController and an ng-repeat of posts calling update function 
<button class="btn btn-primary btn-xs" type="submit" ng-click="update(post.id)" class="btn"> 
    <span class="glyphicon glyphicon-pencil"></span> Edit 
</button> 

실제 모달 코드 :

<div ng-controller="postController"> 
      <textarea class="form-control" rows="3" placeholder="Status update here..." data-toggle="modal" data-target="#savePostModal" ng-click="clear()"></textarea> 
      <div class="modal fade" id="savePostModal" tabindex="-1" role="dialog" aria-labelledby="myPostLabel" aria-hidden="true"> 
       <div class="modal-dialog"> 
        <div class="modal-content"> 
         <form name="form" role="form" novalidate class="ng-scope ng-invalid ng-invalid-required ng-dirty ng-valid-minlength" ng-submit="create()"> 

          <div class="modal-header"> 
           <button type="button" class="close" data-dismiss="modal" aria-hidden="true" ng-click="clear()">&times;</button> 
           <h4 class="modal-title" id="myPostLabel">Create or edit a Post</h4> 
          </div> 
          <div class="modal-body"> 
           <div class="form-group"> 
            <label>ID</label> 
            <input type="text" class="form-control" name="id" ng-model="post.id" readonly> 
           </div> 

           <div class="form-group"> 
            <label>Title</label> 
            <input type="text" class="form-control" name="test" placeholder="Title your post..." ng-model="post.name" ng-minlength=1 required> 
           </div> 

           <div class="form-group"> 
            <label>Author</label> 
            <input type="text" class="form-control" name="test" placeholder="Temporary Field..." ng-model="post.author" ng-minlength=1 required> 
           </div> 

           <div class="form-group"> 
            <label>Text</label> 
            <textarea rows="8" placeholder="Status update here..." class="form-control" type="text" name="test" ng-model="post.text" ng-minlength=1 required></textarea> 
           </div> 
          </div> 
          <div class="modal-footer"> 
           <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="clear()"> 
            <span class="glyphicon glyphicon-ban-circle"></span> Cancel 
           </button> 
           <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary"> 
            <span class="glyphicon glyphicon-save"></span> Save 
           </button> 
          </div> 
         </form> 
        </div> 
       </div> 
      </div> 
     </div> 

$scope.update = function (id) { 
     $scope.post = Post.get({id: id}); 
     $('#savePostModal').modal('show'); 
    }; 

업데이트 기능 나는 성공적으로이 기능을 얻을 부르고 알고 있지만로부터 데이터 $ scope.post가 사용되지 않습니다.

+0

여전히이 문제가 있습니다. –

답변

0

모달을 작동 시키려면 버튼을 인쇄하는 텍스트와 동일한 컨트롤러 -div에 있어야합니다. 나는 div가 다른 경우 컨트롤러의 범위가 다르기 때문에 이것이 확실하다고 확신합니다. 또한, 테스트 할 때 동일한 이름을 가진 두 번째 모달이 없어야합니다. 왜냐하면 필연적으로 사용할 함수 혼동 때문에 필연적으로 실패 할 것이기 때문입니다.

<div id="toBeUpdated" ng-controller="postController"> 
    <div class="modal fade" id="savePostModal" tabindex="-1" role="dialog" aria-labelledby="myPostLabel" aria-hidden="true"> 
     <div class="modal-dialog"> 
     <div class="modal-content"> 
      <form name="form" role="form" novalidate class="ng-scope ng-invalid ng-invalid-required ng-dirty ng-valid-minlength" ng-submit="createMob()"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true" ng-click="clear()">&times;</button> 
        <h4 class="modal-title" id="myPostLabel">Create or edit a Post</h4> 
       </div> 
       <div class="modal-body"> 
        <div class="form-group"> 
        <label>ID</label> 
        <input type="text" class="form-control" name="id" ng-model="post.id" readonly> 
        </div> 
        <div class="form-group"> 
        <label>Title</label> 
        <input type="text" class="form-control" name="test" placeholder="Title your post..." ng-model="post.name" ng-minlength=1 required> 
        </div> 
        <div class="form-group"> 
        <label>Author</label> 
        <input type="text" class="form-control" name="test" placeholder="Temporary Field..." ng-model="post.author" ng-minlength=1 required> 
        </div> 
        <div class="form-group"> 
        <label>Text</label> 
        <textarea rows="8" placeholder="Status update here..." class="form-control" type="text" name="test" ng-model="post.text" ng-minlength=1 required></textarea> 
        </div> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="clear()"> 
        <span class="glyphicon glyphicon-ban-circle"></span> Cancel 
        </button> 
        <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary"> 
        <span class="glyphicon glyphicon-save"></span> Save 
        </button> 
       </div> 
      </form> 
     </div> 
     </div> 
    </div> 
    <li class="animate-repeat" ng-repeat="post in posts.slice().reverse() | checkboxAndFilter:search.$:search.author:search.name:search.id:search.text | limitTo: noPostsOnPage"> 
     <div class="well ng-scope"> 
     <div name="desktopPost" class="h4"> 
      <input type="checkbox" name="checkered"> &emsp;{{post.name}}&emsp;&emsp; <span ng-if="post.summary==1" class="animate-if"><button class="btn btn-xs disabled"><span class="glyphicon glyphicon-star-empty"></span></button></span> 
      <a class="pull-right" ng-click="changeid(post.id);alignSearch();">{{post.id}}</a> 
     </div> 
     <div style="display: none" name="mobilePost" class="h4"> 
      <div ng-click="postNameAlert(post.name);"> 
       <div name="ellipse" style="white-space: nowrap; overflow: hidden;text-overflow: ellipsis;-o-text-overflow: ellipsis;">{{post.name}}</div> 
      </div> 
      <input type="checkbox" name="checkered"> &emsp; 
      <span ng-if="post.summary==1" class="animate-if"><button class="btn btn-xs disabled"><span class="glyphicon glyphicon-star-empty"></span></button></span> 
      &emsp;&emsp; 
      <a class="pull-right" style="padding-top:7px" ng-click="changeid(post.id);alignSearch();">{{post.id}}</a> 
     </div> 
     <p> 
     <div ng-bind-html="trustHtml(post.text)" hashtagify term-click="tagTermClick($event)" user-click="tagUserClick($event)"></div> 
     </p> 
     <br> {{post.author}} on {{post.date_Written}} 
     <br> 
     <div name="desktopSide"> 
      <button class="btn btn-primary btn-xs" type="submit" ng-click="update(post.id)" class="btn"> 
      <span class="glyphicon glyphicon-pencil"></span> Edit 
      </button> 
      <button class="btn btn-danger btn-xs" type="submit" ng-click="delete(post.id);deleteSummary(post.id);" class="btn btn-danger"> 
      <span class="glyphicon glyphicon-remove-circle"></span> Delete 
      </button> 
     </div> 
     <div style="display:none;" name="mobileSide"> 
      <button class="btn btn-primary btn-xs" type="submit" ng-click="updateMob(post.id)" class="btn"> 
      <span class="glyphicon glyphicon-pencil"></span> Edit 
      </button> 
      <button class="btn btn-danger btn-xs" type="submit" ng-click="delete(post.id);deleteSummary(post.id);" class="btn btn-danger"> 
      <span class="glyphicon glyphicon-remove-circle"></span> Delete 
      </button> 
     </div> 
     <div class="animate-repeat" ng-repeat="summarized in filterID(post.id)"> 
      <div class="animate-repeat" ng-repeat="new_post in getPost(summarized.child)"> 
       <button class="pull-right btn btn-default btn-xs" ng-click="reversePostState(new_post.id, new_post.name, new_post.author)"> 
       <span id="{{new_post.author}}" class="glyphicon glyphicon-plus"></span> 
       </button> 
       <div class="well ng-scope"> 
        <h4> 
        {{new_post.name}} 
        <div id="{{new_post.name}}" style="display:inline;"> - {{new_post.author}}</div> 
        &emsp;&emsp; <span ng-if="new_post.summary==1" class="animate-if"><button class="btn btn-xs disabled"><span class="glyphicon glyphicon-star-empty"></span></button></span> 
        <a class="pull-right" ng-click="changeElemOnClick('id_search');changeid(new_post.id);">{{new_post.id}}</a> 
        </h4> 
        <div id="{{new_post.id}}" style="display:none;"> 
        {{new_post.text}} 
        <br> {{new_post.author}} 
        on {{new_post.date_Written}} 
        <br> 
        </div> 
       </div> 
      </div> 
     </div> 
     </div> 
    </li> 
    <center ng-if="checkForPosts()"> 
     <button class="btn btn-default" ng-click="incrementLimit()"> 
     <span class="glyphicon glyphicon-arrow-down"></span>Show More Posts 
     </button> 
    </center> 
</div>