2016-08-22 5 views
1

문서에서 ng-bind를 사용하여 HTML을 업데이트 할 수 있습니다. 모델을 업데이트하는 데 동일한 기능을 사용하는 방법.내 모델에 ng-bind를 사용하는 방법은 무엇입니까?

<input type="text" ng-bind="controller.model.property"> 

ng-model을 사용하고 싶지 않습니다. 백엔드에서 데이터를 가져올 때 입력 상자에 변경 사항을 반영하고 싶지 않습니다.

+0

입력란의 변경 사항을 반영하고 싶지 않다는 것이 무슨 의미입니까? –

+0

"속성"은 내 모델에 어떤 값을 가지고 있습니다. 입력 값 상자에 속성 값을 표시하고 싶지 않습니다. 예를 들어, ng-model을 사용하면 일방적으로 사용하고 싶습니다. input => model.property –

답변

1

양방향 데이터 바인딩을 원하지 않는다면 버튼 클릭과 같이 모든 데이터를 한 번에 처리한다고 가정합니다. 내가 할 방법은 ng-model을 사용하여 할당 한 다음 임시 변수를 만들어 버튼 클릭시 원래 변수에 할당하는 것입니다.

//template 
<input type="text" ng-model="temp.property"> 
<button ng-click="submit()">Save</button> 

//controller 
$scope.model = updateViaBackend(); 
$scope.temp = { property: "" }; 

$scope.submit = function(){ 
    $scope.model.property = $scope.temp.property; 
} 
+0

네, 그 좋은 일을했습니다. 심지어 같은 라인에서 생각하고 있었고, 범위에 여분의 변수를 원하지 않았습니다. 감사! –

+0

그리고 ng-model = "temp.property"대신 ng-bind = "temp.property"를 사용해야한다고 생각합니다. –

+0

맞습니다! 나는 그것을 지금 바꿨다. '$ scope '를 조금 더 깨끗하게 유지하기 위해 할 수있는 일은 임시 변수를 컨테이너 객체에 보관하는 것입니다. 예제에서는'temp'를 사용했지만 폼을 생성하는 경우에는'form'이라고 부를 수도 있습니다. –

관련 문제