Javascript 如何更改嵌套控制器和viceversa中变量的值

Javascript 如何更改嵌套控制器和viceversa中变量的值,javascript,angularjs,inheritance,controllers,Javascript,Angularjs,Inheritance,Controllers,我需要更改padre控制器中的mensaje变量并将其可视化。 并更改hijo控制器和viceversa的变量,但它不起作用 如果点击cambiar padre,值发生变化,如果点击cambiar desde el hijo,它会工作,但当我再次点击cambiar desde el padre时,它不再工作 js html 这不是从另一个控制器访问值的正确方法。如果您真的想在它们之间共享数据,您应该使用服务来存储该值,并且两个控制器都可以更改该值。如果您真的想在控制器之间执行继承,您应该尝试从中

我需要更改padre控制器中的mensaje变量并将其可视化。 并更改hijo控制器和viceversa的变量,但它不起作用

如果点击cambiar padre,值发生变化,如果点击cambiar desde el hijo,它会工作,但当我再次点击cambiar desde el padre时,它不再工作

js

html


这不是从另一个控制器访问值的正确方法。如果您真的想在它们之间共享数据,您应该使用服务来存储该值,并且两个控制器都可以更改该值。如果您真的想在控制器之间执行继承,您应该尝试从中执行一些操作。
除此之外,我不确定hijo的父级是否是padre,因为您使用它来形成ion-*指令。它不起作用的可能问题来自javascript的性质,并且您可能没有编写与控制器读取的变量相同的变量。

使它们成为组件并使用=,传递道具,停止使用ng控制器
 angular.module('starter.controllers', [])

  .controller('padre', function ($scope) {

    $scope.mensaje = "hola";

    $scope.cambiarPadre = function () {
      $scope.mensaje = "texto modificado desde el padre";
    };


  })

  .controller("hijo", function ($scope) {


    $scope.cambiarHijo = function () {
      console.log('entro a cambiar hijo : ');

      $scope.mensaje = "texto modificado desde el hijo";
    };

    $scope.cambiarPadreDesdeHijo = function () {
      console.log('entro a cambiar hijo : ');

      $scope.$parent.mensaje = "texto modificado desde el hijo";
    };

  })
<ion-view view-title="Dashboard" ng-controller="padre as p">
  <ion-content class="padding">

    DEL PADRE
    <br>

    padre:{{mensaje}}
    <br>
    hijo:{{mensaje}}

    <br>
    <br>


    <button ng-click="cambiarPadre()">cambiar desde el padre</button>


    <div ng-controller="hijo as h">

      DEL HIJO sin nada
      <br>
      sin parent:
      <br>
      padre:{{mensaje}}
      <br>
      hijo:{{mensaje}}

      <br>
      <br>

      con parent:
      <br>
      padre:{{$parent.mensaje}}
      <br>
      hijo:{{$parent.mensaje}}
      <br>

      <button ng-click="cambiarHijo()">cambiar desde el hijo</button>
      <br>

      <br>
      <button ng-click="cambiarPadreDesdeHijo()">cambiar padre desde hijo</button>
    </div>


  </ion-content>
</ion-view>