Здесь автор упоминает
the $scope object used by the two controllers are not the same $scope object
Фрагмент для этого же:
Теперь рассмотрим небольшую модификацию вышеуказанного кода.
<body ng-app="myapp">
<div ng-controller="myController1">
<div>{{data.theVar}}</div>
<div>{{data.common}}</div>
<div ng-controller="myController2">
<div>{{data.theVar}}</div>
<div>{{data.common}}</div>
<div>{{temp}}</div>
<div>{{newTemp}}</div>
</div>
</div>
<script>
var module = angular.module("myapp", []);
var myController1 = module.controller("myController1", function($scope) {
$scope.data = {
theVar : "Value One",
common : "common Value"
};
$scope.temp = "John Wick 2 is going to be released soon";
});
var myController2 = module.controller("myController2", function($scope) {
$scope.data = {
theVar : "Value Two"
};
$scope.newTemp = $scope.temp;
console.log("");
});
</script>
</body>
Вид, соответствующий контроллеру2, был перемещен внутри представления для контроллера1.
Для этой части кода внутри контроллера2,
$scope.newTemp = $scope.temp;
Является ли область $выделена над одним и тем же объектом?
Если да, то как AngularJS это знает?
Если бы они были такими же, $scope.temp
в контроллере 2 был бы undefined, и тогда $scope.newTemp
?
Для меня это не то же самое, учитывая o/p вышеуказанной программы. См. Ниже:
Но тогда я озадачен тем, почему они оба выходят из одного и того же, когда я отлаживаю,
Как AngularJS может получить доступ к значению $scope.temp
от контроллера1 в контроллере2?
Просьба уточнить?
Наконец,