2014-03-04 2 views
0

다음 코드 스 니펫의 경우 isEditable =! isEditable 및 edit (object); 스팬 클릭. 조건부 클릭만으로 하나의 액션 만 전달하면 제대로 작동하지만 2 개 이상의 액션을 전달하려면 어떻게해야합니까?조건부 클릭시 여러 동작을 트리거하는 방법은 무엇입니까?

문제가되는 속성은 다음과 같습니다. ng-click = "session.falg == true || isEditable =! isEditable; edit (object);"

여기서는 isEditable 값을 토글하고 edit (object) 메서드를 호출 할 것을 기대합니다.

session.flag는 rootScope 레벨에서 사용 가능하며 edit (object)는이보기를 담당하는 컨트롤러 레벨에서 사용할 수 있습니다.

<ul class="list"> 
    <li ng-repeat="object in objectsArray"> 
    <div ng-show="!isEditable"> 
     <span ng-click="session.falg == true||isEditable = !isEditable;edit(object);">&nbsp;({{object.text}})</span> 
    </div> 
    <div ng-show="isEditable"> 
     <input type="text" ng-model="object.text" ng-blur="isEditable = !isEditable;updateObject(object);" /> 
    </div> 
    </li> 
</ul> 

감사


이 다루는 하나의 기능을 갖는 문제는 (전술 한 것과 같은 2 명 div가 각각의 객체에 표시되는 2 명 div가이리스트의 일부이다 내 목록에서 사용 가능). 그래서이 방법으로 isEditable 값 (각 목록 요소에 고유 한)을 토글하는 방법을 모르겠습니다.

옵션은이 값에 대한 배열을 정의하는 것이지만 성가신 것으로 생각됩니다.

아이디어가 있으십니까?

감사합니다.

+0

피들을 포함하십시오. – Quinn

+0

"OR"연산자 (||)는 이와 같은 할당 문에서 사용할 수 없습니다. 과제를 만들기 전에 session.falg를 평가해야한다면 모든 것을보기 대신 함수에 넣을 것입니다. – Sharondio

+0

코드를 컨트롤러에 넣고 ng-click = 'doStuff()'함수를 호출하십시오. –

답변

2

HTML에 여러 가지 작업을하지 않는 것이 좋습니다. 접근 방식에 따라

당신은 잃을 :

  • 유지 보수
  • 코드 재사용
  • 코드 구성

    처럼 @Gruff 토끼 말한다

만드는 하나의 방법을 디버깅 할 수 없습니다 컨트롤러에서 ng-click으로 전화하십시오.

코드를 간단하게 만드십시오.

관련 문제