gpt4 book ai didi

javascript - $rootScope 在 AngularJs 中不与我一起工作

转载 作者:搜寻专家 更新时间:2023-11-01 05:21:30 25 4
gpt4 key购买 nike

我在我的函数中获取了我的 $rootScope 的值但是我想在我的 Controller 的所有函数中获取这个值以将它传递给另一个 Controller :你能帮帮我吗

我的 HTML:

<input type="checkbox"   ng-model="u.selected" data-ng-click="consoleClient(u)">

我的脚本代码:

$scope.client = {
id : null,
nom : '',
nberPhone : '',
adresse : '',
selected : false
};

$scope.consoleClient = function(client) {
$rootScope.test = client;

console.log(" lll "+$rootScope.test);
};
console.log(" aaaa "+$rootScope.test);

控制台日志返回正确的结果但是函数的第二个 Out 返回未定义。你能帮我解释一下原因吗。

最佳答案

是的,因为您还没有调用 $scope.consoleClient 所以它没有在函数范围之外定义。调用该函数后它将起作用:

$scope.consoleClient = function(client) {
$rootScope.test = client;

console.log(" lll "+$rootScope.test);
};
$scope.consoleClient('clientName');
console.log(" aaaa "+$rootScope.test); // output: ' aaaa clientName'

如果你想在函数外观察变量的变化,你可以这样做:

$scope.$watch(function() {
return $rootScope.test;
}, function(newValue, oldValue) {
console.log('Old value: ', oldValue);
console.log('New value: ', newValue);
}, true); // Note the "true" - Compare the object using "angular.equal"

关于javascript - $rootScope 在 AngularJs 中不与我一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36376300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com