要从全局变量更新AngularJS作用域的值,可以使用$watch()函数监视全局变量的变化,并在变化时更新作用域的值。
以下是一个示例代码:
// 在控制器中定义全局变量
var globalVariable = "Initial Value";
// 在控制器中注入$rootScope和$scope
app.controller('MyController', function($rootScope, $scope) {
// 使用$watch()函数监视全局变量的变化
$rootScope.$watch('globalVariable', function(newValue, oldValue) {
// 如果全局变量的值发生变化,则更新作用域的值
if(newValue !== oldValue) {
$scope.scopeVariable = newValue;
}
});
// 初始化作用域变量
$scope.scopeVariable = globalVariable;
// 更新全局变量的值
$rootScope.globalVariable = "New Value";
});
在上面的代码中,我们首先在控制器中定义一个全局变量globalVariable
,并在作用域中初始化一个对应的作用域变量scopeVariable
。然后,我们使用$watch()
函数监视全局变量globalVariable
的变化,并在变化时更新作用域变量scopeVariable
的值。
接着,我们更新全局变量的值为"New Value",触发$watch()
函数的回调函数,更新作用域的值。
这样,全局变量的变化就会自动更新到作用域的值上。