在AngularJS 中的控制器之間傳遞資料
在AngularJS 中的控制器之間傳遞資料是一項常見任務,有幾種不同的方法可以完成它。在本文中,我們將討論使用服務將資料從 ProductController 傳遞到 CartController。
服務實作
首先,我們將定義一個服務稱為productService,它將管理我們的產品清單。該服務將包含兩個函數:addProduct 和 getProducts。 addProduct 會將新產品加入到清單中,getProducts 將傳回整個清單。
控制器實作
接下來,我們將把productService 注入到我們的 ProductController 和 CartController。
在 ProductController 中,我們將定義一個名為 callToAddToProductList 的函數,該函數將新增將所選產品新增至由productService管理的清單中。
在CartController中,我們將使用getProducts函數從productService中檢索產品清單並將其分配給$scope.products變數。
DOM 更新
因為您在 CartController 中的產品清單是硬編碼,當新增產品時,您需要手動更新 DOM。一種方法是使用 $watch 函數來監視 $scope.products 變數的變更並相應地更新 DOM。
透過使用服務來管理產品清單並在產品之間進行通訊通過這兩個控制器,您可以輕鬆地在它們之間傳遞資料並相應地更新 DOM。
以上是如何在 AngularJS 控制器之間有效率地傳遞資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!