最近在做ionic的一個項目,主要強依賴angular1.x、遇到了一個問題,關於自定義組件在外面使用的時候異步的拉取數據傳遞給組件的問題,我先說一下我的實現,我自己定義了一個組件,因為可能在多個地方會用到所以我把它做成自定義指令、話不多說先上代碼
這是定義組件的代碼

2、這是首頁控制器里面定義了slideList、我要在模版里面使用組件的的時候把這個賦給組件

3、這是首頁模版里面使用了我定義的組件、

4、這是控制器去服務端異步拉取數據,貌似也沒什么問題

好了、看完了代碼好像都沒有問題是吧、按道理他會在界面渲染是吧、現在問題來了,我這按部就班的總是遇到個問題、就是首頁頁面里面始終不顯示組件的內容、然后我就在自定義指令里面先打印scope和scope.slideList大家也可以看到我代碼上有寫,然后在控制器異步的去拉取數據的回調里面也打印了、現在我們來看控制台

這時候我們打開瀏覽器去看頁面的時候什么都沒有、界面上沒有顯示、這是怎么回事、按道理他應該會自動的渲染出來啊、不是雙向綁定嗎、擦、好了我們再來看看他的dom到底有木有生成

這下問題來了、 我去這dom不是有生成嗎、為毛頁面不顯示、實在是扯淡啊、我看了下也不是我樣式的問題、這到底怎么回事、呵呵其實我也不清楚、然后我自我分析了一下,感覺是組件一開始初始化的時候沒有立馬拿到值,但是頁面已經在渲染了、渲染完了后面賦到值了但是界面是沒有動態的去更新、好了這時候我自己手動調用$scope.$apply()什么卵用都沒、還報錯、然后我請教了一些大神、大神說在指令里面用監控、監控那個模型的變化也就是那個集合、最后按照大神的姿勢寫完了、頁面還是沒有更新、這時候奔潰了,
到底什么鬼、這問題折騰了我幾天、后來昨晚突然腦袋抽了、我改造了一下

這一改造可把我樂壞了、媽蛋、這里要爆個粗、我那問題竟然解決了。。。。好神奇、其他地方都沒改、然后我把監控的寫法什么的去掉了、就是恢復以上的寫法、這時候我們來看看控制台、

至此這個問題算是解決了、着實不容易啊、想想都心塞、本來今天到要把代碼上傳上去給大神們看看了的、現在解決了所以寫篇文章分享一下、希望有遇到的也可以看看、第一次寫博客、還請大家見諒。。寫的不好的地方還請大家海涵、
PS//本文章屬於原創,轉載請注明出處、謝謝
