2013-02-05 2 views
0

저는 첫 번째 각도 프로젝트를 시작하고 있으며 각도 UI를 사용하여 선택 가능한 Jquery UI를 통과시킵니다. 템플릿에서 하나의 요소를 사용하는 가장 좋은 방법은 현재 선택된 요소 만 업데이트하는 것입니다 (예 : 'ui.selected'클래스가있는 경우).각도 템플릿의 특정 클래스로 요소를 업데이트하는 방법

+0

당신의 문제에 대해 더 자세히 설명해 줄 수 있습니까? –

+0

Jquery UI의 선택 가능한 상호 작용을 사용할 수 있도록 Jquery UI에서 Angular를 사용하고 있습니다. 다른 요소의 값이 현재 선택된 경우에만 (예 : 'ui-selected'클래스가있는 경우) 템플릿 요소에 입력 요소를 업데이트하고 싶습니다. – supermasher

+0

나는 그 단어를 어떻게 더 명확하게 표현할 지 모르겠습니다. 기본적으로 모델로 작동하는 입력과 선택한 경우에만 해당 모델에 바인딩하는 다른 입력을 갖고 싶습니다. 분명히 UI 콜백 함수를 통해 DOM을 조작 할 수 있지만이를 수행하는 더 좋은 (각도) 방법이 있는지 이해하려고합니다. – supermasher

답변

0

지시어를 사용하여이 문제를 해결했습니다. 요소는 모델의 경우에서 업데이 트를 얻을 수있다

<div class="row" ng-controller="workspaceCtrl"> 
<div class="editor four columns"> 
    <input type="text" placeholder="title" ng-model="title" /> 
    <textarea placeholder="description" ng-model="description"></textarea> 
</div> 
<div class="eight columns"> 
    <ul class="fileObjects" ui-jq="selectable" ui-options="selectOptions"> 
     <span ui-jq="sortable"> 
      <li class="item" ng-repeat="obj in fileObjects"> 
       <input type="text" val="{{obj.title}}" placeholder="title" hotlink="title"/> 
       <textarea placeholder="description" hotlink="description">{{obj.description}}</textarea> 
      </li> 
     </span> 
    </ul> 

</div> 
</div> 

지금 내가 조건부 바인딩이
mymodule.directive('hotlink', function() { 

    return function (scope, element, attrs) { 

     scope.$watch(attrs.hotlink, function (value) { 
      if(element.parent().hasClass('ui-selected')){ 
       scope.obj[attrs.hotlink] = value; 
       element.val(value); 
      } 
     }); 
    } 
}); 

및 partial.html에서

...

app.js에서

..., 현재 선택되어 있습니다.

+0

또한 ui-sortable 지시문이 있습니다 FYI – ProLoser

+0

@ProLoser와 ui 선택 가능한 지시문을 지적 해 주셔서 감사합니다. 따라서 본질적으로 전체 JQuery 라이브러리를로드하지 않고이 두 가지를 구현할 수 있어야합니다. 좋은. – supermasher

관련 문제