Javascript 如何在AngularJS中更新父范围?

Javascript 如何在AngularJS中更新父范围?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我尝试使用两种解决方案从子控制器更新父作用域,但无法使其工作应用()不起作用 HTML: <div ng-controller="ControllerA"> <div ng-show="tab_selected == 1">Content1</div> <div ng-show="tab_selected == 2">Content2</div> <div ng-controller="ControllerB"&

我尝试使用两种解决方案从子控制器更新父作用域,但无法使其工作<代码>应用()不起作用

HTML:

<div ng-controller="ControllerA">
   <div ng-show="tab_selected == 1">Content1</div>
   <div ng-show="tab_selected == 2">Content2</div>
   <div ng-controller="ControllerB">
      <span ng-click="updateScope()"></span>
   </div>
</div>

控制器有单独的作用域,但有几种通信方式

  • $broadcast将事件广播到父作用域
  • 使用服务进行双向数据绑定,即
  • 使用范围继承,即

不能更新父对象中的基本体属性,只能更新对象属性。因此,您需要使用:

$scope.someObject= {};
$scope.someObject.tab_selected= 2;

$scope.$parent.tab_selected=2各种方法,但一种简单的方法是在父范围内使用对象或数组(这将在父范围和子范围内立即可用-看在上帝的份上:(这是第10000个,始终在角度范围中使用点。)properties@xe4me你是什么意思?@Steffi angular团队曾建议,当然,始终使用点是正确的,这意味着要将任何内容粘贴到$scope,例如$scope.myVariable,而不是使用原始变量,always使用对象,如:$scope.variables.myVariable!!(看到点了吗?-这意味着总是定义对象而不是基本体)
$scope.someObject= {};
$scope.someObject.tab_selected= 2;