Javascript Can';在ng change事件中,似乎无法从角度绑定控件获取值

Javascript Can';在ng change事件中,似乎无法从角度绑定控件获取值,javascript,angularjs,ionic,Javascript,Angularjs,Ionic,我有一个简单的角度/离子页面: <ion-view ng-controller="HomeController"> <ion-content has-header="true" padding="true"> <ion-toggle ng-model="shareLoc" ng-change="shareLocChange()" toggle-class="toggle-stable">Share location</ion-to

我有一个简单的角度/离子页面:

<ion-view ng-controller="HomeController">
    <ion-content has-header="true" padding="true">
        <ion-toggle ng-model="shareLoc" ng-change="shareLocChange()" toggle-class="toggle-stable">Share location</ion-toggle>
       Current value: {{shareLoc}}
    </ion-content>
</ion-view>
但它不起作用!我可以在其他HTML字段中绑定到它(如上所示),但由于某种原因,每当我在代码中访问它时,它都返回false(或在控制器初始化中设置的任何内容)。我是否以错误的
$scope
或其他东西告终


例如

因此,我实际上对此有些困惑,但是通过函数传递模型的值可以解决问题


似乎
ion视图
创建了一个隔离的作用域,因此如果您传递一个基本参数,它将按值复制它,当它更改时,原始参数将保持不变

另一方面,如果您传递一个对象作为参数,两个作用域将能够使用相同的副本


您可以看到不同的作用域ID和对象的传递。

非常好的侦察,谢谢。而且,事实上,将范围向下移动到离子含量使其工作得很好。我不知道不同的元素有不同类型的作用域-或者这是一个bug?我也注意到了这一点,这是一个很好的解决方法-不幸的是,在我的代码的其余部分,我弹出了一个“确认”对话框,需要能够将值设置回以前的设置,所以我确实需要实际的绑定才能通过(
angular.module('ionicApp', ['ionic'])

.controller("HomeController", function ($scope) {
    console.log('HomeController');
    $scope.shareLoc = false;
    $scope.shareLocChange = function() {
        console.log($scope.shareLoc);
    };
});
ng-change="shareLocChange(shareLoc)" 

$scope.shareLocChange = function(shareLoc) {
  console.log(shareLoc);
};