我對某個網頁有關於商品搜索的問題。從指令訪問父控制器方法?
比方說,我有:
- 一個控制器與結果項中顯示
- 一個服務執行搜索查詢,所以它更新結果項交互控制器以顯示
- A 指令其中有形式與所有搜索字段的輸入。
其中一個按鈕是「查看更多項目」按鈕。只有當我從查詢中收到的回覆告訴我有更多要查看的項目時,纔會顯示它。
我做了服務,檢查此屬性,並返回一個boolean值以指令,其與NG秀使用它上的按鈕來顯示或隱藏其內的功能。
問題是我不知道如何在此範圍內與控制器進行交互。
如若指令調用一個服務方法並且此方法應以某種方式控制器互動?
在此之前,我與包裝形式的標籤指令(該指令的範圍之外),然後我可以用NG-提交控制器上執行一些動作來調用服務。就像這樣:
<form ng-submit="myController.submitSearch">
<search-options-directive></search-options-directive>
<button type="submit">
</form>
但現在我想要做的是把形式和內部
<search-options-directive></search-options-directive>
按鈕所以現在我沒有訪問調用控制器方法直。
我該如何解決這個問題?
這聽起來像是search-directive中「require」選項的主要示例 - 簡而言之:創建一個外部指令,其控制器是「項目顯示控制器」。然後您可以在搜索指令中要求外部指令,並且您可以直接訪問控制器。這裏是一些指定require的編譯服務的參考:https://docs.angularjs.org/api/ng/service/$compile –
其他答案可能更好,但也有'scope。$ parent'屬性。 – Casey