我是Angular JS的新手,所以可能我的問題很簡單,但實際上我沒有找到解決方案。Angular JS - 在外部控制器中調用指令功能
我想知道是否有可能從外部控制器訪問函數(在指令中的鏈接函數內)。我正在使用指令來控制指令所需的一些變量,並且我需要訪問控制器中的一個變量。我試圖在指令中創建一個函數爲:
scope.testArray = [{id=1, text="test1"},{id=2, text="test2"}];
scope.getTestArray = function() {
return scope.testArray()
};
而且從我的控制器我想這樣稱呼它:
var testArray = scope.getTestArray()
但它說,getTestArray不存在的元素(範圍)。我認爲這是因爲對指令中的範圍變量的更改從控制器不可見。那麼,有沒有辦法實現我想要做的事情?
感謝您的幫助,您可以給我
爲什麼使用函數?你可以簡單地做'var testArray = $ scope.testArray;' – AlwaysALearner
我同意Codezille。利用雙向綁定。在指令中使用'='符號。通過這種方式,您可以修改陣列內部和外部的指令,並且雙方共享同一個對象。 – Martijn
指令旨在實現DOM特定的功能。例如ng-repeat用動態數據重複一段特定的html。你確定你不應該使用服務嗎?我需要更多的上下文讓你的示例代碼給出具體的答案 – Anton