請教。我在pc站裡用angular,是個課程主頁,點擊收藏是用的angular,問題是:點擊收藏後,再點進入課程跳到別的頁面,然後再點擊瀏覽器的回退,退到課程主頁後來,發現收藏狀態不是剛剛操作後的結果,好像是js裡的變數快取了。請問這個要怎麼解決呢?
應該不會出現這種問題,按照我的想法,你頁面的收藏狀態應該是由後端傳遞給你的某個資料來控制的,你點擊收藏之後,發送一個請求到後端,然後後端把那個數據更新,然後回傳給你這個數據。只要這個數據更新了,你的那個收藏狀態不就更新了嗎,不論你怎麼進入那個頁面,收藏的狀態應該都是後端返還給你的某個數據呀,不會隨著你瀏覽器的前進後退發生改變呀,不知道我的解釋和你提問的是不是一個地方
能貼一下相關程式碼嗎?
首先你收藏是互動到服務端的,再之你頁面跳轉的時候,之前頁面的控制器已經銷毀了,不存在變數快取。我覺得你有必要在控制器初始化的時候取一下收藏的數據,再展示到頁面
只要URL變更後,當前的Controller就被銷毀了,等你再一次通過變更URL跳到該界面,scope裡面的數據都是初始化的數據,除非後台給對象設值
應該不會出現這種問題,按照我的想法,你頁面的收藏狀態應該是由後端傳遞給你的某個資料來控制的,你點擊收藏之後,發送一個請求到後端,然後後端把那個數據更新,然後回傳給你這個數據。只要這個數據更新了,你的那個收藏狀態不就更新了嗎,不論你怎麼進入那個頁面,收藏的狀態應該都是後端返還給你的某個數據呀,不會隨著你瀏覽器的前進後退發生改變呀,不知道我的解釋和你提問的是不是一個地方
能貼一下相關程式碼嗎?
首先你收藏是互動到服務端的,再之你頁面跳轉的時候,之前頁面的控制器已經銷毀了,不存在變數快取。我覺得你有必要在控制器初始化的時候取一下收藏的數據,再展示到頁面
只要URL變更後,當前的Controller就被銷毀了,等你再一次通過變更URL跳到該界面,scope裡面的數據都是初始化的數據,除非後台給對象設值