2014-09-03 2 views
2
다음과 같이 내가 AngularJS와 (즉 내가 해결책을 발견 한 곳 소스에서 말한다 기능)와 함께 제공 경량 jQuery를 사용하여 삭제 버튼에 속성을 추가하고

:AngularJS와의 조건부 함수를 호출

if (item.CustomerGuid == item.OwnerCustomerGuid) { 
    $scope.isDeleteDisabled = false; 
    $('#deleteFreight').attr("ng-click", "FreightGroup_delete(" + item.ListGuid + ", " + item.CustomerGuid + ")"); 
} else { 
    $scope.isDeleteDisabled = true; 
} 

변경 사항이 반영되었는지 확인하지만 버튼을 클릭하려고 할 때 원하는 기능이 호출되지 않습니다.

도움이 필요합니다.

.cshtml (전) :

<button class="btn btn-danger" ng-disabled="isDeleteDisabled" 
id="deleteFreight">Delete Freight Group </button> 

(후) :

<button class="btn btn-danger active" ng-disabled="isDeleteDisabled" 
ng-click="FreightGroup_delete(7338bb3a-9e6b-49d7-be08-7b60ff47ba61, 
    ce3adfcc-d8a1-4a6e-a2b7-d15dc1980384)" id="deleteFreight"> 
Delete Freight Group </button> 

답변

1

jquery와 angularjs를 섞지 마십시오. 당신이 달성하고자하는 것을 정확히 이해한다면 이것은 올바른 접근 방식이어야합니다.

JS :

$scope.item = item; 

HTML :

<button 
    class="btn btn-danger" 
    ng-click="FreightGroup_delete(item.ListGuid, item.CustomerGuid)" 
    ng-disabled="item.CustomerGuid !== item.OwnerCustomerGuid" 
    id="deleteFreight">Delete Freight Group 
</button> 
+0

을 확인해주십시오. 귀하의 제안에 감사드립니다. – RandomUser

1

사용 JQuery와 기능 범위에 영향을 미치지 않습니다. 이

<button class="btn btn-danger" ng-disabled="isDeleteDisabled" 
id="deleteFreight" dyn-attrs="dynamicAttr">Delete Freight Group </button> 

처럼 아래 코드

if (item.CustomerGuid == item.OwnerCustomerGuid) { 
    $scope.isDeleteDisabled = false; 
    $scope.dynamicAttr= [ 
     { attr: 'ng-click', value: "FreightGroup_delete(" + item.ListGuid + ", " + item.CustomerGuid + ")" } 
    ]; 
} else { 
    $scope.isDeleteDisabled = true; 
} 

하고 HTML 모양의 확인하시기 바랍니다 그것이 작동하는지 알려주세요.

+0

'$의 scope.apply()를 추가 한 후, 나는 버튼의 속성을 삭제 변경 함수를 호출 할 때이 오류를 얻고있다' . 'Scope. $ scope.getFreights' – RandomUser

+0

업데이트 된 답변 – sameer