2014-06-16 2 views
1

두 개의 서로 다른 ng 모델간에 ng-change를 사용하여 값을 호출하려고했습니다. 그것은 작동합니다. 하지만 데이터가 데이터가 변경되는 경우에만 다른 NG 모델에 구문 분석, 나는이변경을위한 대체 솔루션이 필요합니다.

같은 시도

데이터 변경하기 전에 두 NG-모델의 데이터를 가질 수있는 대체 솔루션이있다

HTML

<input ng-model="customer.name" ng-change='tripsheet.customer_name=customer.name;'> 
<input ng-model="tripsheet.customer_name" type="text" class="form-control input-lg"  placeholder="Customer Name"> 

JS는

$scope.customer = { 
    name:$scope.customers[$scope.whichItem].name, 
    address:$scope.customers[$scope.whichItem].address, 
    phone:$scope.customers[$scope.whichItem].phone 
} 

제가 모두 NG - 상기 모델의 routeParams 데이터를 원한다.

답변

0

컨트롤러에 다음과 같이 입력하십시오. mainguy의 대답 @

$scope.customer = { 
    name: "Tom" 
}; 

$scope.tripsheet = { 
    customer_name: $scope.customer.name 
} 

Plunker

0

아주 좋은 방법입니다.

또는 대신 ng-change 대신 $ watch를 사용할 수 있습니다. 모델 객체

$scope.$watch('customer.name', customerNameChanged); 

하는 워처를 초기화가 사용자 상호 작용이 상기 데이터가 변경된 경우에만

function customerNameChanged() { 
    if(!$scope.tripsheet) 
     $scope.tripsheet = {}; 
    $scope.tripsheet.customer_name = $scope.customer.name 
} 

NG 변화 트리거 함수를 정의한다.

모델 개체가 프로그래밍 방식으로 변경 될 때 및 처음 정의 될 때 $ watch가 트리거됩니다.

관련 문제