您好,登錄后才能下訂單哦!
本篇文章為大家展示了angular 8.1使用教程,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
首先是勾選狀態的保持問題
在模板中思考了很久,用了各種方法,修改傳入值,頁碼改變以后勾選狀態就是會有奇怪的問題,比如在代碼里明明把選中的給去掉了,但是頁面上還是勾選狀態,最后折騰來折騰去,發覺操作的對象不對:頁面上的是模板里面的list,就是listpagemodel.list,而我之前一直在操作傳入的list,后面操作對象弄對了,只需要操作listpagemodel.list的狀態就可以控制頁面上的數據。
所以上面給我的經驗就是一定要明白頁面上展示的數據具體是由哪個對象控制的,對象找對了,控制起來就簡單,對象沒找對,忙活再久也是白干。
第二個就是自己創建的組件問題
sl-upload是我自己封裝的一個組件
這是組件內部的代碼,很簡單,就是包含了nz的一個上傳組件,還有一些數據的處理
比如上傳之前的判斷大小和類型,還有上傳成功的提示之類的。
之所以自己寫這部分,是因為nzzorro的組件自己雖然有提供大小控制和上傳文件的類型控制,但是限制了以后選中保持以后不會有任何提示。所以就自己封裝一下,加上了提示。
其中遇到的一個不解的問題就是雙向綁定的問題
一開始我單純的以為只要給[fileList]加上小括號就行
[(fileList)]這樣就變成了雙向綁定,實際上并沒有,小括號加上去以后毫無作用,組件內部只是接收到了這個fileList
后續的操作,父組件(嚴格來講其實包了三層,是祖孫組件了)里面是拿不到子組件對fileList的修改的,因為只是單純的傳入了這個值。現在要拿子組件對fileList修改后的值,就需要加上輸出,也就是@Output
下圖的那一行代碼
this.fileListChange.emit(this.fileList)
就是輸出用的,只有改變值的時候加上了這一行代碼,才算是完成了輸出
才讓父組件中[(fileList)]中的小括號有了意義,不然加不加小括號都沒影響。
這樣才可以在父組件中拿到經過子組件修改后的fileList的值了。
上述內容就是angular 8.1使用教程,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。