Javascript 角度UI路由器:读取子作用域值

Javascript 角度UI路由器:读取子作用域值,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个带有按钮的父视图 家长 控制器:“控制器” 模板:“partials/viewA.html” 儿童 控制器:“控制器B” 模板:“partials/viewB.html” 单击viewB中的按钮在ControllerB中设置一个值 是否可以从viewA读取该值而不进行发射或广播 我基本上希望禁用viewA(父视图)按钮,直到单击viewB中的按钮 编辑 基本上,只要做以下事情就好了: Parent按钮在父控制器中,可以声明如下方法 $scope.toggleButton = functi

我有一个带有按钮的父视图

家长

控制器:“控制器”

模板:“partials/viewA.html”

儿童

控制器:“控制器B”

模板:“partials/viewB.html”

单击
viewB中的按钮
ControllerB中设置一个值

是否可以从
viewA
读取该值而不进行发射或广播

我基本上希望禁用
viewA
(父视图)按钮,直到单击
viewB
中的按钮

编辑

基本上,只要做以下事情就好了:


Parent按钮

在父控制器中,可以声明如下方法

$scope.toggleButton = function () {
    $scope.button_disabled = !$scope.button_disabled;
};
<button ng-disabled="button_disabled">Parent Button</button>
在您的子控制器中,您可以调用此方法

$scope.toggleButton();
父视图按钮可以是这样的

$scope.toggleButton = function () {
    $scope.button_disabled = !$scope.button_disabled;
};
<button ng-disabled="button_disabled">Parent Button</button>
Parent按钮

不确定什么是发布/订阅为什么不使用服务?您能举个例子吗?我可以使用服务,但请参见我的编辑。@Ronnie根据您应用程序的性质,服务仍然是更好的选择。如果您引入另一个控制器,$parent可能引用错误的父控制器,您必须执行$parent.$parent。这是“正确”与“业务价值”之间的一种解决方法,这是您的决定:)