在下面的代码中,为什么 $scope.text 在新区域被切换时会被重置?我认为它的价值应该被保留,因为它是在顶级范围内定义的。
 <div ng-controller="Ctrl">
  <select ng-model="selection" ng-options="item for item in items">
  </select>
  <hr/>
  <div ng-switch on="selection" >
    <div ng-switch-when="settings" ng-controller="Ctrl1">
        Enter val :
        <input ng-model="text" />{{text}}
      </div>
    <span ng-switch-when="home" ng-controller="Ctrl2">Home Span</span>
    <span ng-switch-default>default</span>
  </div>
</div>
控制器:
var myApp = angular.module('myApp',[]);
function Ctrl($scope) {
  $scope.items = ['settings', 'home', 'other'];
  $scope.selection = $scope.items[0];
  $scope.text = "Enter val";
}
function Ctrl1($scope) {
  console.log('hi')
}
function Ctrl2($scope) {
  console.log('hi2')
}