将数据传递给angularjs中的范围变量

时间:2014-08-14 19:59:55

标签: angularjs angularjs-scope

我需要一个角度控制器范围说明的指南。

我的应用在控制器文件夹中有不同的控制器。页面文件夹中每个控制器的不同页面。我的观点是我应该如何管理全局内容的控制器,例如include文件夹中的breadcrums。面包棒不属于我为每条路线定义的任何控制器。

我遇到的问题是我需要更改每个控制器的breadcrum变量。

那么如何将数据传递到面包棒中呢?我应该使用globalScope吗?

1 个答案:

答案 0 :(得分:3)

我建议使用AngularJS服务,比如'Breadcrumb'服务。此服务可以跟踪面包屑,每个控制器都可以使用该服务访问面包屑。

这是一个非常基本的示例,其中包含面包屑的字符串。

var myApp = angular.module('myApp', []);
myApp.factory('Breadcrumb', function() {
    return {breadcrumbString: "Home > Page > SubPage"}
})

function PageCtrl($scope, Breadcrumb){
  $scope.breadcrumb = Breadcrumb;
}

function SubPageCtrl($scope, Breadcrumb){
  $scope.breadcrumb = Breadcrumb;
}

这里有一个工厂用于创建服务实例,如AngularJS文档中所述:

  

请注意,您没有注册服务实例,而是注册a   在调用时将创建此实例的工厂函数。

有关详细信息,建议您查看以下内容: