2016-11-04 3 views
0

내가 AngularJS와 (v1.5.8)를 사용하여 차트를 초기화하려고하지만 instructions템플릿의 요소에 대한 참조를 얻는 방법

var ctx = document.getElementById("myChart"); 
var myChart = new Chart(ctx, { ... 
같이 나는 다음과 같은 새로운 차트 개체를 초기화 할 수 없습니다입니다

템플릿의 html 요소에 대한 참조를 가져올 수 없기 때문에 그것을 얻는 방법? 컨트롤러 내부

angular.module("dashboard", ['ngAnimate', 'ngSanitize', 'ui.bootstrap']) 
.component("exceptionChart", { 
    template: "<canvas class='{{$ctrl.class}}'></canvas>", 
    bindings: { class: '@' }, 
    controller: function(){ 
     // how do I get a reference to canvas 
    } 
}); 

답변

1

당신은 template에 대한 액세스를 얻을 수 $element 서비스를 주입 할 수 있습니다.

$element$postLink() 구성 요소의 수명주기 훅에 액세스하여 모든 하위 명령이 컴파일되도록하는 것이 이상적입니다.

controller: function($element){ 
    // how do I get a reference to canvas 
    this.$postLink = function() { 
     console.log($element) 
    } 
} 
+0

무엇을 찾고 싶습니까? 이'$ element [0]. 자식 [0]'입니까? –

+0

'$ element.find ('canvas)'는 괜찮을 것입니다. –

+0

나는 그것을 시도했고'$ post'에서'$ element'를'undefined'로하고 있습니다. 내가 놓친 게 있니? –

관련 문제