angularjs - ng-switch가 ng-model을 바인드하지 않음
[ Title 3 ]를 클릭하여 입력된 값이 UI에 반영되어 있어도 텍스트 상자에 값을 입력하면 resolf http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq 이 표시됩니다.[ click ]버튼을 클릭하면 스코프 속성 $test에 바인딩되지 않습니다.
ng-switch에 무슨 문제가 있는지 모르겠어요.혹은 제가 뭔가 잘못하고 있는 것 같습니다.도움에 감사드립니다!!!
http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq
이는 다음 이유로 인한 범위 상속 문제입니다.ng-switch
독자적인 범위를 만듭니다.
자주 하는 권장사항 중 하나는 항상 다음을 사용하는 것입니다.dot
모델입니다.그 이유는 컨트롤러 스코프 항목이 프리미티브가 아닌 오브젝트일 경우 서브스코프가 초기 오브젝트에 대한 참조를 작성하기 때문입니다.모델이 원시 모델인 경우 원본은 업데이트되지 않습니다.
예를 들어 다음과 같습니다.
<input ng-model="test.value" placeholder="pre" type="text" />
$scope.test={value:''}
또 다른 접근법은$parent
html 모델 마크업:
<input ng-model="$parent.test" placeholder="pre" type="text" />
사용방법dot
방법론은 더 깊이 중첩된 범위에 대해 고려할 필요가 없으므로 이러한 문제를 피하는 것이 좋습니다.
를 사용한 데모test.value
모델명 : http://plnkr.co/edit/CkiF55bLXsYzR6ZjcrJp?p=preview
에 관한 레퍼런스dot
모델(판독서): https://github.com/angular/angular.js/wiki/Understanding-Scopes
이는 실제로 ng-switch 내부에 자스코프를 작성하기 때문입니다.그럼 또 하나test
속성은 ngSwitch 디렉티브에 속하는 스코프에 존재합니다.처음에는 상위 범위의 값이 표시되지만, 편집할 때는 초기값이므로 상위 범위가 아닌 하위 영역에서만 값이 편집됩니다.여기에는 프로토타입 상속이 적용되지 않습니다(그러나 이것이 바로 우리에게 필요한 것입니다).
버튼을 클릭하면 버튼이 alerting/console.log로 상위 범위에 속성을 기록합니다.아이가 바꿀 수 없는 거죠
이 용도를 수정하려면$parent.test
ngSwitch의 ng-model Atribute:
토막:
<span class="pew" ng-switch-when="title2">
<input ng-model="$parent.test" placeholder="pre" type="text" />
{{test}}
</span>
그리고 여기 당신의 플런커가 작동하는 포크가 있습니다.
비슷한 문제가 발생한 적이 있으며 컨트롤러에 스코프 변수를 생성하여 이를 사용하여 해결했습니다.ng-include
그리고.ng-switch
이렇게 네스트된 경우ng-include
님은 에 있습니다.ng-switch
계속해서 스코프 변수를 직접 사용할 수 있습니다.
자여기서 「」는 「」( 「」),ng-include
/ng-switch
)는 부모 스코프(컨트롤러 스코프)에서 확장되므로 이들 자녀 스코프에서 부모 스코프에 문제없이 직접 액세스할 수 있습니다.
「」를 사용합니다.$parent
will will will will will will like like like 。$parent.$parent.$parent.someProp
플랭크 예시: http://plnkr.co/edit/8UGH7nUpFmATiXfkYSwr?p=preview
언급URL : https://stackoverflow.com/questions/15593299/angularjs-ng-switch-does-not-bind-ng-model
'sourcecode' 카테고리의 다른 글
반응 npm start not work : '사용 가능한 chokidar 버전이 없습니다.' (0) | 2023.04.04 |
---|---|
react-select에서 기본값을 설정하는 방법 (0) | 2023.04.04 |
각 서비스 함수에 $scope 삽입() (0) | 2023.04.04 |
필드별 MongoDB Aggregate가 존재합니다. (0) | 2023.04.04 |
휴지 상태 개체를 직렬화할 때 이상한 잭슨 예외가 발생함 (0) | 2023.04.04 |