【发布时间】:2017-02-10 18:48:16
【问题描述】:
我需要从“padre 控制器”更改 mensaje 变量并将其可视化。 并从“hijo 控制器”更改变量,反之亦然,但它不起作用
如果单击“cambiar padre”,则值发生变化,如果单击“cambiar desde el hijo”,则它可以工作,但是当我再次单击“cambiar desde el padre”时,它不再工作了
js
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";
};
})
html
<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>
【问题讨论】:
-
用
=把它们做成组件并传递props,停止使用ng-controller
标签: javascript angularjs inheritance controllers