我在我的函数中得到了$ rootScope的值但是我想在我的Controller的所有函数中得到thsi值以将它传递给另一个控制器: 你可以帮帮我吗
我的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函数返回undefined。你能解释一下我的原因吗。
答案 0 :(得分:7)
是的,因为你没有调用$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"