【问题标题】:AngularJs Controller ShareAngularJs 控制器共享
【发布时间】:2015-04-14 13:16:30
【问题描述】:

我的代码中有两个控制器,其中一个有一个数组。我想从其他控制器中使用这个数组,但它不起作用。

我已简化代码以使其易于理解。

我的第一个控制器;

app.controller('mycont1', ['$scope','$timeout', function($scope, $timeout) {

var my;

 my=['1','something',.......];

 }]);

指令中的第二个控制器;

.....,controller: function($scope) {


   var m=my[0];//i want to reach first controller array..

   }

当我调用它时,它找不到它。我如何从其他控制器使用这个数组?

【问题讨论】:

标签: javascript angularjs model-view-controller


【解决方案1】:

如果你想在控制器之间共享这样的数据,我建议你创建一个它们都可以依赖的服务。

HTML:

<div ng-app="app">
    <p ng-controller="controller1">{{message}}</p>
    <p ng-controller="controller2">{{message}}</p>    
</div>

JavaScript:

var app = angular.module('app', []); 

app.service('dataService', function() {
    return {
        message: 'Hello world!'
    };
}).controller('controller1', function($scope, dataService) {
    $scope.message = dataService.message;
}).controller('controller2', function($scope, dataService) {
    $scope.message = dataService.message;
});

在这里工作:https://jsfiddle.net/ben1729/yeLd9rnb/3/

【讨论】:

  • 你能举个例子吗
【解决方案2】:

适用于小型应用程序。您可以只使用$rootScope

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 2016-09-02
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多