我发现的每个答案都涉及使用一个元素并从那里访问$scope
。
我想访问给定控制器的作用域,最好通过控制器名称,在控制器定义之外的javascript中访问。这甚至有可能吗?
为了清楚起见,我试图更新控制器内$scope
上正在监视的变量。我想有一个独立的函数,我可以将一些参数传递给可以为我的应用程序中的众多控制器执行此功能的函数。
如果我正在以完全错误的方式去解决这个问题,请纠正我。刚刚开始进入角度最近。
喜欢的东西:
var myapp = angular.module("myapp", []);
myapp.controller("myController1", function($scope, $http){
$scope.specialVar = "some value";
});
myapp.controller("myController2", function($scope, $http){
$scope.specialVar = "some other value";
});
var myFunction = function(controller, val){
//set the value of specialVar for the passed controller to the passed value
myapp.AccessController(controller).$scope('specialVar', val);
}
使用服务共享并存储和绑定数据。不是100%清除你正在尝试执行的操作...或者你想要解决的更高级别的问题 – charlietfl
@charlietfl添加了一个示例 –
那么你打算使用那个函数的地方在哪里?在应用程序内?如果是的话,你肯定会使用服务 – charlietfl