我對Angular應用程序有點問題。基本上我想操縱應用程序本身之外的範圍。如果我在控制檯輸入:從外部函數訪問角度範圍加載
$scope = angular.element($('.lead-system')).scope()
我可以用$scope
與$apply
,這一切工作正常。然而,當我用這個在軌的CoffeeScript文件:
angular.element(document).ready ->
console.log angular.element($('.lead-system')).scope()
它記錄undefined
,當然我不能用$apply
這一點。
這是怎麼回事?我加載順序的JS文件:
app.js
< - 主角度應用程序初始化
pending.js.coffee
< - 上面
lead_controller.js
<列出的文件 - 我的範圍控制器m試圖訪問
角度準備並不意味着第一個摘要循環已準備就緒或您的控制器已實例化。如果控制器或指令被實例化,則$ scope是可用的。順便說一句:這實際上不是你應該如何使用angular:angular.element($('。lead-system'))。scope()。爲什麼這是必要的? – michael
這就是我正在尋找的東西:當該範圍可用時使用的ready事件。至於原因:因爲頁面的另一部分需要在點擊時將產品添加到範圍變量。這是一個獨立的應用程序,但是當你點擊一個按鈕時,頁面的其他各個部分需要用初始數據加載它。 – andy