2012-03-27 3 views
1

Я хотел бы добавить некоторые функции рисования в приложении на основе ember. Я планирую использовать элемент html5 canvas. В принципе, в моем DOM У меня естьhtml5 canvas and emberjs view

<canvas id="my-canvas"> 

И мне нужно, чтобы получить свой контекст холста, когда DOM загружен

var c = document.getElementById('my-canvas') 
// ... do something with c 

Если холст представлена ​​с Ember.View:

App.Canvas = Em.View.extend({ 
tagName: 'canvas' 
}) 

Что такое эквивалент document.getElementById?

ответ

1
var view = App.Canvas.create().append(); 
var viewContext = Ember.get(view, 'element'); 

viewContext будет хранить то, что вам нужно.

+0

Спасибо @ roy-daniels. В случае, если кому-то интересно, свойство 'element' доступно изнутри декларации' Ember.View.extend ({...}) '. Это особенно удобно с элементом, таким как холст, потому что вы можете получить доступ ко всему API холста из своего специального вида. –

1

Из контекста холста, вы можете использовать метод $():

this.$('#id') 

который обеспечивает JQuery-приправленный способ доступа элементов.