2016-10-12 6 views
0

シナリオは双方向ネストされたディレクティブのために働いていないバインディング - AngularJS

私は自分のページに3つの以上のチャットウィンドウを開くにはしたくありません。私は部分的にそれを管理することができていますが、私は今、実現したいことは、彼はいずれかを閉じた場合、ユーザは再びチャットウィンドウを開くことができるように、すべてのチャットウィンドウが(閉じている場合は、再度USERボタンを表示する

です3つのうちの1つ)

Here is the working plunkerです。

link: function(scope, element, attr) { 
    scope.close = function(){ 
     element.hide(); 
     alert('scope.count not reducing the actual count on index.html') 
     scope.count--; // <-- THIS IS NOT DECRESING THE COUNT on main index.html 
    } 
    scope.$watch('box2', function(newIsOpenVal, oldIsOpenVal){ 
    if(newIsOpenVal !== oldIsOpenVal){ 
     element.find("#msg").toggle(); 
    } 
    }); 

} 
+0

双方向バインディングはありませんが、2つのディレクティブの間の隔離された範囲がわかります。 – Makoto

+0

@Makoto:隔離されたスコープ内に 'count: '=''を保存しました。 –

+0

はい、なぜ2つの間に双方向バインディングが見えないのですか?彼らは効果的にお互いから切り離されている。 – Makoto

答えて

1

実装における問題は、あなたがそれを解決するために、お使いのコントローラの範囲からcountを使用していないということです。私は2ウェイは、私は、このリンク機能であること取り扱いしています

結合の世話をしています

$compile("<div chat-toggle user-name="+scope.userName+" count='count'></div>")(scope) 
関連する問題