整個應用程式中可用的功能

請注意,這種方法可能被認為是角度應用程式的糟糕設計,因為它要求程式設計師記住範圍樹中放置函式的位置,以及瞭解範圍繼承。在許多情況下,最好注入一個服務( Angular 實踐 - 使用範圍繼承與注入

此示例僅顯示範圍繼承如何用於我們的需求,以及如何利用它,而不是設計整個應用程式的最佳實踐。

在某些情況下,我們可以利用範圍繼承,並將函式設定為 rootScope 的屬性。這樣 - 應用程式中的所有範圍(隔離範圍除外)都將繼承此功能,並且可以從應用程式的任何位置呼叫它。

angular.module('app', [])
.run(['$rootScope', function($rootScope){
    var messages = []
    $rootScope.addMessage = function(msg){
        messages.push(msg);
    }
}]);

<div ng-app="app">
    <a ng-click="addMessage('hello world!')">it could be accsessed from here</a>
    <div ng-include="inner.html"></div>
</div>

inner.html:

<div>
    <button ng-click="addMessage('page')">and from here to!</button>
</div>