2014-09-03 2 views
0

가 여기 내 상황 컨트롤러에 변경하는 방법 입력 필드 및 해당 버튼을 클릭하고 해당 버튼을 각각의 입력 필드 모델을 수정하려는 컨트롤러로 전달하게하여이 작업을 수행합니다. 문제는 버튼을 클릭하면 기능이 꺼지고 valueToSet이 변경되었지만 변경 사항이 다시보기에 반영되지 않는다는 것입니다. 내가 뭘 놓치고 있니?패스 모델 나는이 HTML을,

+0

건네받은 인수의 값 – scarlz

+1

모델을 전달하지 않고 모델 값을 전달하기 만하면됩니다. 그것은 원시 _String_입니다. 그리고'$ scope.setValue' 변수에서 valueToSet은 _String_입니다. 또한'$ scope.inputModel'과'$ scope.inputModelTwo'와 같이'$ scope'에서 여러분의 모델'inputModel'과'inputModelTwo'에 접근 할 수 있습니다. 모두 당신이 무엇을하고 싶은가에 따라 달라 지므로 질문을 기각하십시오. – ababashka

+0

@ababashka 맞습니다. 문제는 제가 원시 문자열을 그냥 통과하고 있다는 것입니다. –

답변

1

모델을 함수 매개 변수로 동적으로 전달하려는 경우 도트 표기법을 사용하여 모델에서 PROPERTY에 액세스해야합니다. 그래서 같은 컨트롤러 모델을 정의

시도 : 이미하고 있던으로

$scope.inputModel = {}; 
$scope.inputModelTwo = {}; 

$scope.inputModel.text = 'hey'; 
$scope.inputModelTwo.text = 'ho'; 

그런 다음 함수의 전체 모델에 전달합니다. 함수 내부

는과 같이 (이 경우 '텍스트'에서) 당신이 원하는 속성을 변경 :

$scope.setValue = function (valueToSet) { 
    console.log(valueToSet); 
    valueToSet.text = "Some value."; 
}; 
당신의`setValue` 방법은 현재 재 할당을 제외한 아무것도되지

JSFiddle