第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

AngularJS-訪(fǎng)問(wèn)子范圍

AngularJS-訪(fǎng)問(wèn)子范圍

吃雞游戲 2019-10-06 14:58:56
如果我有以下控制器:function parent($scope, service) {    $scope.a = 'foo';    $scope.save = function() {        service.save({            a:  $scope.a,            b:  $scope.b        });    }}function child($scope) {    $scope.b = 'bar';}parent讀b出的正確方法是child什么?如果有必要定義b中parent,也不會(huì)使它語(yǔ)義上不正確假設(shè)b是描述相關(guān)的東西的屬性child,而不是parent?更新:對(duì)此進(jìn)行進(jìn)一步的思考,如果有一個(gè)以上的孩子b,將會(huì)parent在b檢索上產(chǎn)生沖突。我的問(wèn)題是,什么是訪(fǎng)問(wèn)的正確方法是b從parent?
查看完整描述

4 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

盡管jm-的答案是處理這種情況的最佳方法,但為了將來(lái)參考,可以使用范圍的$$ childHead,$ childTail,$ nextSibling和$$ prevSibling成員來(lái)訪(fǎng)問(wèn)子范圍。這些沒(méi)有記錄在案,因此它們可能會(huì)在不通知的情況下進(jìn)行更改,但是如果您確實(shí)需要遍歷作用域,它們就在那。


// get $$childHead first and then iterate that scope's $$nextSiblings

for(var cs = scope.$$childHead; cs; cs = cs.$$nextSibling) {

    // cs is child scope

}


查看完整回答
反對(duì) 回復(fù) 2019-10-06
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以嘗試以下方法:


$scope.child = {} //declare it in parent controller (scope)

然后在子控制器(作用域)中添加:


var parentScope = $scope.$parent;

parentScope.child = $scope;

現(xiàn)在,父母可以訪(fǎng)問(wèn)孩子的范圍了。


查看完整回答
反對(duì) 回復(fù) 2019-10-06
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

一種可能的解決方法是使用init函數(shù)將子控制器注入到父控制器中。


可能的實(shí)現(xiàn):


<div ng-controller="ParentController as parentCtrl">

   ...


    <div ng-controller="ChildController as childCtrl" 

         ng-init="ChildCtrl.init()">

       ...

    </div>

</div>

ChildController您在哪里:


app.controller('ChildController',

    ['$scope', '$rootScope', function ($scope, $rootScope) {

    this.init = function() {

         $scope.parentCtrl.childCtrl = $scope.childCtrl;

         $scope.childCtrl.test = 'aaaa';

    };


}])

因此,現(xiàn)在ParentController您可以使用:


app.controller('ParentController',

    ['$scope', '$rootScope', 'service', function ($scope, $rootScope, service) {


    this.save = function() {

        service.save({

            a:  $scope.parentCtrl.ChildCtrl.test

        });

     };


}])

重要提示:

要正常工作,您必須使用指令ng-controller并使用as與我在html eg中相同的方式重命名每個(gè)控制器。


提示:在此過(guò)程中,

請(qǐng)使用chrome插件ng-inspector。它會(huì)幫助您理解樹(shù)。


查看完整回答
反對(duì) 回復(fù) 2019-10-06
  • 4 回答
  • 0 關(guān)注
  • 616 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)