メインのhtmlテンプレート要素にアクセスする正しい角度の方法は何だろうと思っています。getelementbyid を使用でき、attr.$$element[0] を使用してアクセスすることもできますが、よりクリーンな方法があるかどうか疑問に思っています。以下の例では、getElementById 行に相当するものが必要です。
var app = angular.module('test', []);
app.directive('test', function(){
return {
restrict: 'E',
template: '<canvas id="test-canvas"></canvas>',
replace: true,
link: function(scope, elem, attr) {
// what is angular way of doing this?
var canvas = initCanvas(document.getElementById("test-canvas")),
// this works - is this recommended method?
var canvas = attr.$$element[0];
}
};
});