2017-08-14 46 views
0

我在Angular(v4)中構建遊戲,並且完全意識到直接dom操作很少(如果有的話)角度的正確路線。然而,對於我正在建設的東西,我不確定我會看到另一條可行的途徑。角度2不斷更新dom位置的最佳方式

我需要的是通過同時更新幾個元素的旋轉位置來處理它的組件(想象一下太陽系模型)。我看到有兩條主要路線,第一條是直接操作dom,更新組件輸入更改。第二個是具有內聯樣式標籤的組件,例如[style.whatever]="thing.whatever"

我的第二條路線似乎有點像它仍然是直接的dom操作,只是沒有在JavaScript中。

我喜歡儘可能以正確的方式做事,所以任何輸入都會有幫助。

我沒有在這個項目中使用/計劃/想要使用JQuery。

更新

剛剛意識到我是個白癡,我不會需要編程DOM更新,我只需要設置,我需要它來開始最初的CSS屬性,以及動畫速度。由於它是一個不變的事情,有了可預測的動畫,我可以讓css完成所有的工作。我仍然想知道在代碼中設置這些css屬性是最合適的,還是作爲組件的屬性。

回答

0

這涉及到我的腦海裏迅速的你可以做什麼(不全面,當然)

使用綁定,像什麼:

@HostBinding('style.whatever') 
    whatever: thing 


    @HostListener('window:resize', ['$event']) 
    setHeight() { 
    this.height = 200px; 
    } 

模板變量

@ViewChild('input') input: ElementRef; 
<input #input ...> 
+0

謝謝你你的答案。然而,我並不真正在尋找如何去做,更多的是如果有一種方法不那麼操縱(< - 科學術語)。此外,它不會在窗口大小調整或一些外部事件,它會每隔一秒左右。 – Nieminen

相關問題