Javascript 在单选按钮选择上做些改变AngularJS

Javascript 在单选按钮选择上做些改变AngularJS,javascript,angularjs,Javascript,Angularjs,我需要根据特定单选按钮组的选择刷新一些数据 工作打捞器 但我既不能得到ng更改,也不能得到ng单击来执行我的方法,该方法更新名称并使Hello World显示Hello“selection” $scope.updateValue = function(){ $scope.name = $scope.data.myNumber; }; 但是我可以看到双向数据绑定是有效的,因此模型正在更新 <span>You selected {{ data.myNumber }}<

我需要根据特定单选按钮组的选择刷新一些数据

工作打捞器

但我既不能得到ng更改,也不能得到ng单击来执行我的方法,该方法更新名称并使Hello World显示Hello“selection”

$scope.updateValue = function(){
    $scope.name = $scope.data.myNumber;
  };
但是我可以看到双向数据绑定是有效的,因此模型正在更新

<span>You selected {{ data.myNumber }}</span>
您选择了{{data.myNumber}
另一方面:我尝试的另一件事是观察模型值并执行我想做的事情,但这也不起作用-除了页面加载之外,watchcollection不会再次触发

plunker只是单选按钮选择问题的一种表示——我想在数据刷新中实现更复杂的功能


任何帮助都将不胜感激

不要修改name的$scope变量,而是在对象属性保持引用更改时修改它

将代码的html部分更改为

 <div ng-controller="MainCtrl">
      <p>Hello {{data.name}}!</p>
      <button ng-click="OpenModal('sm')">Enter Number</button>
      <br><br>
      <span>You selected {{ data.myNumber }}</span>

  </div>
app.controller('MainCtrl', function($scope, $modal) {
  $scope.name = 'World';
  $scope.data = {};

  $scope.OpenModal = function(size){
   var modalInstance = $modal.open({
            templateUrl: 'Modal.html',
            controller: 'ModalInstanceCtrl',
            windowClass: 'small-size-modal',
            size: size,
            scope: $scope
        });
  };
});

app.controller('ModalInstanceCtrl', function($scope, $modalInstance){
  $scope.ok = function(){
    $scope.data.name = $scope.data.myNumber;
    $modalInstance.close();

  };

  $scope.updateValue = function(){
    $scope.data.name = $scope.data.myNumber;
    $modalInstance.dismiss('submit');
  };

  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
});
正在工作的打劫者


虽然其他答案似乎有效,但对于复杂的数据通信,我要做的是在两者之间使用服务

由于您有两个独立的控制器,一个在主页上,另一个用于模式,并且它们的
$scope
不同,因此我建议使用
服务
在两个控制器之间进行通信。有关这方面的更多信息,请查看


只需在模式上广播更改,然后在主控制器上收听这些更改并将其反映在HTML上。

您希望在模式打开时在主页上更改它吗?是的,我希望在主页上更改它-当进行选择时。基本上,Hello World应该更新为Hello“selection”!但很明显,只有当你点击OK时你才能看到它。对于复杂的数据通信,请看我的答案。