1、Vue 的雙向數據綁定原理是什么?
2、詳細說一下你對 vue 生命周期的理解?
3、請說下封裝 vue 組件的過程?
4、你怎么理解 vue 是一個漸進式的框架?
答:1.開發的時候需要什么就加什么。我們可以通過添加組件系統、客戶端路由、大規模狀態管理來構建一個完整的框架。更重要的是,這些功能相互獨立你可以在核心功能的基礎上任意選用其他的部件,不一定要全部整合在一起。可以看到,所說的“漸進式”。2.沒有多做職責之外的事,侵入性看似沒有Angular那么強,比如說,Angular,它兩個版本都是強主張的,如果你用它,必須接受以下東西:必須使用它的模塊機制- 必須使用它的依賴注入等!
5、Vue聲明組件的state是用data方法,那為什么data是通過一個function來返回一個對象,而不是直接寫一個對象呢?
答:當一個組件被定義, data 必須聲明為返回一個初始數據對象的函數,因為組件可能被用來創建多個實例。如果 data 仍然是一個純粹的對象,則所有的實例將共享引用同一個數據對象!通過提供 data 函數,每次創建一個新實例后,我們能夠調用 data 函數,從而返回初始數據的一個全新副本數據對象。
其實也很好理解,大概意思就是:
類比與引用數據類型。如果不用function return 每個組件的data都是內存的同一個地址,那一個數據改變其他也改變了,這當然就不是我們想要的。用function return 其實就相當於申明了新的變量,相互獨立,自然就不會有這樣的問題;js在賦值object對象時,是直接一個相同的內存地址。所以為了每個組件的data獨立,采用了這種方式。
如果不是組件的話,正常data的寫法可以直接寫一個對象,比如data:{ msg : ' 下載 ' },但由於組件是會在多個地方引用
的,JS中直接共享對象會造成引用傳遞,也就是說修改了msg后所有按鈕的msg都會跟着修改,所以這里用function來每次返回一個
對象實例。
6、說下vue組件之間的通信?
答:父傳子,兄弟之間,vuex
7、element-UI是什么?
答:UI框架
8、我在用element ui的表單驗證的時候 雖然沒有影響我的提交,但是一直報了這個錯,請問是什么原因,錯誤提示如下:[Vue warn]: Invalid prop: type check failed for prop "model". Expected Object, got String.
答:無效的屬性:屬性“model”的類型檢查失敗。需要對象,得到字符串。