저는 래칫 및 각도를 사용하여 모바일 앱을 제작하고 있으며 개발이 빠르고 빠르습니다.각도가있는 래칫 토글 구성 요소 사용
그러나 토글을 사용할 때 많은 문제가 발생했습니다. 상태가 활성화되면 래칫이 div
에 "활성"클래스를 추가합니다 그러나이 코너의 외부에서 수행되는
<div class="toggle">
<div class="toggle-handle"></div>
</div>
을, 내 시도는이 변경에 실패했습니다 볼 $에 대한 지침을 만들 수 있도록. 또한 테스트하지는 않았지만 ngClass는 클래스가 Angular 외부에 추가 된 경우 모델을 업데이트하지 않습니다.
래칫의 toggle.js에는 상태가 변경 될 때 발생하는 이벤트 리스너가 있지만 각도 외의 javascript뿐만 아니라 jQuery도 사용하지 않으므로이 콜백을 추가하는 방법을 모르겠습니다. ng-view 내부에로드 된 뷰로부터 콜백으로부터 컨트롤러 스코프를 변경한다.
도움을 주시면 감사하겠습니다.
HTML :
<div id="variable" class="toggle" my-toggle>
<div class="toggle-handle"></div>
</div>
JS를 :
app.directive('myToggle', [function() {
function link(scope, element, attrs) {
scope.$watch(function() {
return element.hasClass('active');
}, function(value) {
var id = element.attr('id');
scope.save(id, value);
});
}
return {
restrict: 'A',
scope: false,
link: link
};
}]);
래칫은 active
클래스에 전환 @kindasimple가 제안
래칫에서 touchend 이벤트 핸들러를 제거하고 각도로 사용자 입력을 처리 할 수 있습니다. 모든 래칫은 클래스 목록에 '활성'을 추가하여 CSS 애니메이션을 트리거합니다. – kindasimple
그 점을 살펴 보겠습니다. 래칫은 클릭/터치 및 스 와이프를 처리하므로 해당 솔루션에 ngTouch를 포함시켜야하지만 작동 할 수 있습니다. 팁 고마워. –