有了 Angular 之類的 MVC/MVVM 框架是不是可以不學 DOM 了?或者只需簡單了解一下 DOM?


不要作夢吧, angular1.x系列需要是用jquery jqLite對DOM進行了層層封裝,但大多數小白,有時還可能是你的同事,還是對jquery念念不忘,在angular裡面使用大量操作DOM的邏輯,當你要維護他們的代碼還是要有DOM基礎。 更現實的是,使用angular等MVVM的公司太少了,都是初創公司或大公司的一些不起眼的小組,核心部門由於有老人們把持著,他們在DOM沉浸了這麼久,要他們放棄是非常費勁的。

此外,angular1.x是在最優情況下不使用DOM,但逼急了還是不得不寫DOM,另你為angular寫插件時,還是需要自己操作DOM。到了angular2.0,那些巨頭們認為,既然新瀏覽器的DOM API介面如此一致了,他們就不會在angular2.0對DOM進行封裝,並且大肆改進,估計讓用戶回歸操作DOM的事實不遠了。

再次,像移動端,不與DOM打交道是不可能的。在那個性能底下的環境中,他們連jquery也不敢用。

總之,做前端是不可能不與DOM打交道。DOM兼容能力是考慮一個高級前端的重要指標。


理論上可以,如果你覺得成為team中隨時可以被裁掉的那個人也無所謂的話。我們的angular團隊就沒人會勾兌DOM,他們無所謂是因為他們本來都是後端工程師,臨時客串了一陣子,我負責給他們擦屁股,負責跟DOM打交道,嗯,其實我也是做後端的,也是客串的。。。


作為一個彙編是第一門編程語言的人來看。。。。。。

任何不學習底層直接學習高層技術都是不好的,可能可以支持你開發出簡單的App,但是不足以支持你成為程序員。


Dont" be silly.

面試官知道你們不想學DOM, 於是就越愛問你們這些問題。


難道寫一些指令不需要了解dom么?


你用angular寫一些UI組件的指令,裡面的compile函數還是要操作dom的。。。


不懂dom 你怎麼去理解 $scope呢


angular是為後端程序員準備的?


看到不明白的設計或遇到目前無法解決的問題時,自然會去學習。

如果有精力和時間,能有預見性的提前了解或學習自然也不是什麼壞事。

若有興趣深入挖掘,弄明白後,至少自己會很開心。

語言、工具和框架的出現,大多是為了解決之前遇到的問題和痛點,節約人們的時間,提高整體的效率。

每種工具都有合適它的問題,具體問題具體分析咯。

所以,盡量把時間和精力用在自己認為值得的地方。


DOM屬於客戶端javascript,也就是說這個就是你作為前端的基礎,與瀏覽器打交道,怎麼可能會避開DOM,像angular這樣的框架,只是讓那些使用jquery寫吐了DOM操作的緩解了一下,把更多的精力集中在業務邏輯,用後端的思想去貼合業務邏輯。總之,不學DOM,你在使用angular這類mvc框架中很難去深入了解,一旦想深入了解,就會發現你還是要學DOM的,不然那個jqlite是哪裡來的呢


推薦閱讀:

Angular js 初學者該看什麼書啊? ?
如何評價 Angular 2 發布 Beta 版本?
如何看2015年1月Peter-Paul Koch對Angular的看法?
angular中控制器之間的傳值該怎麼實現?

TAG:前端開發 | HTML | JavaScript | MVC | AngularJS |