2013-01-24 11 views
5

フォーマッターが分離スコープで動作しない理由は何ですか?この角張ったバグですか、何か間違っていますか?フォーマッタが分離スコープで動作しない理由

これは、スコープを隔離して動作しません含まれています:http://jsfiddle.net/YbdXQ/56/

restrict: 'A', 
scope:{}, 
link: function(scope, elm, attrs, ctrl) { 
     ctrl.$formatters.unshift(function(modelValue) { 
      console.log("In formatters" + modelValue); 
     return $filter('date')(modelValue); 
    }); 

これは孤立含まれておらず、スコープが正常に動作します:http://jsfiddle.net/YbdXQ/57/

restrict: 'A', 
link: function(scope, elm, attrs, ctrl) { 
     ctrl.$formatters.unshift(function(modelValue) { 
      console.log("In formatters" + modelValue); 
     return $filter('date')(modelValue); 
    }); 

答えて

6

これは、フォーマッタとは何の関係もありません、むしろngModelがそれを渡そうとしている値にアクセスできなくなったという事実です。分離スコープを作成しているときは、のスコープを作成しているため、はngModelディレクティブで使用できなくなりました。証拠として、ここでのmyDatengModel属性に渡されているものに基づいて範囲を設定not-so-useful exampleです:

http://jsfiddle.net/YbdXQ/78/

angular/angular.js#1069を、この非常に問題に関する協議を「一つのディレクティブの分離スコープは、同じ要素に他のディレクティブを隔離します」例えば

、私のカスタムディレクティブはあなたがまたthis StackOverflow question, "ngModel and component with isolated scope"に興味がある可能性があり

作業からNG-モデルを防止している様子がわかり。

関連する問題