0

次のdirという名前のディレクティブがあります。

ng-model="job.start_date"

comparison-date="job.end_date

ng scope.$watch("comparisonDate...-model 値にアクセスしたい。問題は、スコープがウォッチのコールバック関数に定義されていないことです。質問は: この関数内で ng 値を取得するにはどうすればよいですか?

.directive("dir", function() {
    return {
        scope: {
            comparisonDate: "=",
            ngModel: "="
        },

        link: function (scope, element, attrs, ctrl) {
            var foo = scope.ngModel;
            scope.$watch("comparisonDate", function(value, oldValue) {
                console.log(value); //comparisonDate showing value properly
                console.log(scope.ngModel); //Undefined
                    console.log(foo) //shows value but it's not refreshing. It shows allways the initial value
            })
        }
    };
})

景色...

<input dir type="text" ng-model="job.start_date" comparison-date="job.end_date"/>
4

3 に答える 3

1

ディレクティブのリンク段階では、値が利用できない場合があります。$observe値の変化を観察するために使用できます。

attrs.$observe("comparisonDate", function(a) {
    console.log(scope.ngModel);
})
于 2013-09-27T18:07:52.533 に答える