2015-01-07 1 views
-1

node.js에서 시간을 얻고 원형 차트를 렌더링하는 js 파이 타이머가 있습니다. 여기데이터 속성 (angularJS)에서 리스너를 만드는 방법은 무엇입니까?

코드입니다 : 여기

내가 파이 차트 여기

<div id="myStat2" data-dimension="104" data-text="45" data-percent="0"></div> 

렌더링되는 여러 데이터 ... = ""속성을 가질 것은 청취자 어떻게 든 내가이의 jQuery를 부분입니다 하지만 최선의 해결책은 아닙니다. 여기

var time = 0; 
setInterval(function(){ 
    time = $('#myStat2').attr('data-percent'); 
    $('#myStat2').empty(); 
    $('#myStat2').attr('data-percent', time); 
    $('#myStat2').attr('data-text', parseInt(time)); 
    $('#myStat2').circliful({animationstep: 0}); 
}, 100); 

완전히 렌더링 무엇의 결과입니다

enter image description here

여기에 모든 것을 정확하고 잘 작동

,하지만 난이 최선의 해결책 아니다 가정합니다. 나는 angularJS를 통해이 작업을 수행 할 수 있다고 생각했지만 어떻게 작동하는지 알지 못했습니다. 어느 누구도 나에게 더 나은 것을 제공 할 수 있습니까?

+0

이것은 각도가 아닙니다. –

+0

저는 이것이 아니라는 것을 알고 있습니다. 그냥 각도가이 문제에 도움이된다고 가정합니다. – VostanAzatyan

+0

heyyyy 왜 아래로 투표가 잘못 되었습니까? – VostanAzatyan

답변

3

양각 개념은 양방향 데이터 바인딩이 이미 제공되므로 이러한 종류의 DOM 바인딩을 피하는 것입니다. 나는 myStat2이 각도 범위 내에서 가정 그래서보기에 범위의 값을 설정하지 이유 :

<div id="myStat2" data-dimension="104" data-text="{{ dataText }}" data-percent="{{ dataPercent }}"></div> 

당신은 다음 $ 범위에서 직접 변경할 수 있습니다 : 난 정말 이해가 안

$scope.dataPercent = time; 
$scope.dataText = parseInt(time); 

이 코드는 무의미 해 보인다 그러나 달성 하려는지 :

time = $('#myStat2').attr('data-percent'); 
$('#myStat2').empty(); 
$('#myStat2').attr('data-percent', time); 

을 나는 지침의 일종으로이 차트를 이동 후 더 나은 각도의 이해 받고 추천 할 것입니다.

+0

Simon Staton 귀하의 답변에 도움을 주셔서 감사합니다. 그냥 데이터 속성의 변경 내용을 catch하고 원형을 다시 잡을 수있는 무언가가 필요합니다. – VostanAzatyan

+0

변경 시간에 대한 일부 함수를 호출해야합니다. – VostanAzatyan

+1

그런 다음 ngChange 지시어를 사용하여 $ scope에 함수를 설정할 수 있습니다. https://docs.angularjs.org/api/ng/directive/ng해야 할 일은 무엇이든 할 수 있습니다. –

관련 문제