2014-01-10 39 views
0

好的,這裏是我正在經歷的Plunker http://plnkr.co/edit/p7eJFTdsk9CFXwEIXZyb行爲。我試圖在所有層面上使用相同的ng模型,但這也表現出奇怪的行爲,這是我最接近實際嘗試完成的行爲。嵌套複選框的奇數模型行爲

我想頂層複選框像sublist1複選框一樣工作。

步驟創建不必要的行爲:對於再次第1項第1項

  • 點擊頂級複選框

    1. 點擊頂級複選框,至今工作正常。
    2. 點擊子級項目2.1複選框這個工程。但是,頂級商品1複選框將不再更改商品2.1複選框。
  • 回答

    0

    因爲每個ng-repeat都創建一個新的作用域,所以一旦深層作用域具有自己的屬性,它將不再繼承自更高層的作用域。

    這是預期的。 查看我的個人資料中有關scopeng-repeat的問題。

    +0

    我不確定我們是在討論同樣的事情,我不是想更新更高級別的作用域,它的低級作用域停止工作,我理解你的意思是在創建新作用域時它的改變,但它應該從頂層繼承它的範圍還是不應該呢?根據你的問題參考,模型應該從正常的$摘要中的$ parent繼承。 –

    +0

    我們正在談論同樣的事情。它只會繼承更高級別的作用域,因爲本地作用域沒有同名的屬性。一旦您手動檢查子範圍中的方框,它將創建自己的屬性。該範圍現在只會看到當地的財產,而不是它從上面繼承的財產。本地作用域現在優先於'ng-checked =「TopLevelGroup」' –

    +0

    嗯..你是對的,在這個範圍內是問題的一部分,這個鏈接提供了很多洞察。 https://github.com/angular/angular.js/wiki/Understanding-Scopes#wiki-ng重複 但它不是解決問題的辦法,即使知道原型繼承,它也不會自行解決問題,我不得不重做整個模型,使用2維數組來指向每個嵌套的適當模型。這樣做可以解決問題,而不用擔心繼承問題。否則我永遠無法嵌套超過兩層。 –