지시어 내에서 속성에 텍스트 입력을 바인딩하려고합니다.이 유형의 새 지시문을 추가 할 때마다 컨트롤러를 추가하지 않아도되기 때문입니다 . 이것이 가능합니까 아니면 ng-model을 사용할 때 항상 컨트롤러를 지정해야합니까? 코드 예제는 수천 단어에 해당하므로 http://codepen.io/scottwio/pen/HKqiw을 살펴보십시오. 입력 내용을 입력하면 금액이 변경됩니다.텍스트 입력을 지시문 속성에 바인딩
0
A
답변
1
은 당신의 코드에 두 가지 문제가 있습니다
scope.$watch(attrs.amount, function (v) {...});
< => 절대 변경하려고하지
scope.$watch('100', function (v) {...});
, 그래서 당신이하고 싶은 일을하지 않습니다.요소 속성이 절대로 변경되지 않으므로
function draw(aniTime) { var amount = attrs.amount;
은 그리 유용하지 않습니다.
당신이처럼 문제를 해결할 수 :
scope.$watch('amount', function (v) {...});
및
function draw(aniTime) {
var amount = scope.amount;
...
참조, 또한,이 short demo. 상위 범위로 지정된 양을 공유하려는 경우
는, 당신은 데이터 바인딩 양방향을 설정하고 결합하는 부모 범위의 속성을 지정해야합니다. 예컨대 :
// Parent scope
$scope.someAmount = 100;
// In HTML
<custommarc amount="someAmount" ...
// In directive
scope: {
amount: '='
...
+0
감사합니다. @ExpertSystem이 문제가 해결되었습니다. 어리석은 실수는 지금 그것을 생각해 봅니다. –
관련 문제
- 1. AngularJs Getter 속성에 대한 지시문 바인딩
- 2. 자식 개체의 속성에 텍스트 바인딩
- 3. 문자열 속성에 텍스트 데이터 바인딩
- 4. combobox.SelectedItem의 속성에 텍스트 상자 바인딩
- 5. 텍스트 블록에서 실행 속성에 바인딩?
- 6. 로드시 속성에 텍스트 블록 텍스트 바인딩
- 7. 양방향 바인딩 지시문 + 컨트롤러
- 8. AngularJS : 지시문 바인딩
- 9. AngularJS : 지시문 내부 바인딩
- 10. 지시문 양방향 바인딩
- 11. 양방향 바인딩 속성 지시문
- 12. 텍스트 : 로컬 속성에 바인딩 : 유효하지 않음
- 13. JavaFX 텍스트 JodaTime DateTime 속성에 바인딩
- 14. 정적 속성에 바인딩
- 15. 클래스의 속성에 TextBox 바인딩
- 16. TextBox.Text ViewModel의 속성에 바인딩
- 17. DataTrigger 바인딩 전용 속성에 바인딩
- 18. 인스턴스 내의 속성에 바인딩
- 19. 두 개의 다른 속성에 텍스트 블록 텍스트 바인딩
- 20. WPF : MainWindow 속성에 바인딩
- 21. AngularJS - 지시문 크기 변경에 바인딩
- 22. 각도 검사 목록 지시문 바인딩
- 23. AngularJS : 양방향 바인딩 내부 지시문
- 24. Groovy SwingBuilder가 여러 속성에 바인딩
- 25. 클래스의 속성에 대한 WPF 바인딩
- 26. 요소에 동적으로 생성 된 각도 지시문 텍스트 바인딩
- 27. Textbox 2 속성에 데이터 바인딩
- 28. VB.NET label.text를 개체 속성에 바인딩
- 29. VB.Net - TextBox를 컬렉션의 속성에 바인딩
- 30. 문제 바인딩 모델에 대한 각도 맞춤 지시문
은 분명히 그렇습니다. 문제가 어디 있니? – zeroflagL
입력이 변경되면 애니메이션을 재생하고 입력 한대로 대략 금액을 다시 채우고 싶어한다고 상상해보십시오. 빠른 glace 후에 양에 대해 '@'를 사용하고 템플릿에 점이없는 모델을 사용하여 격리 범위를 만드는 것이 문제가 될 수있는 것처럼 보입니다. – Mindstormy
@Mindstormy는 입력에 attr.amounts가 범위를 업데이트해야한다고 제안했기 때문에 $ watch (attrs.amount, function (v) {console.log ('changed to'+ v);}); 새 금액을 기록하고 기록합니다. 그렇게하면 시계가 해고 될 때마다 애니메이션을 업데이트 할 수 있습니다. –