私はリンクを2つのdatepickerディレクティブにしようとしています。私はディレクティブの1つにモデルを渡していますが、値が変更されたときにメソッドを実行する必要があります。リンク機能は発動しません。私は過去2日間この問題を解決しようとしてきました...私が投げるものは何も働かない...誰かが見て、何が間違っていることを説明することができますか?
初期リンクが間違っていたように私は、セットアップplunker http://plnkr.co/edit/VTSElDjniyN8wRwsuT1T?p=preview
JacvascriptコードUPDATE
以下21/12/2016更新plunkerリンクしました。あなたは
model
両方
directives
に渡しているので
model
が、1つのつではなく、ディレクティブでモデルを上げる見ての、
parent scope
ではなく
directive scope
に座っているので、そのうちの一つが変更されたとき
angular.module('ui.bootstrap.demo').directive('endDatepicker', function() {
return {
scope: {
model: "=",
endDate: "=",
},
templateUrl: 'datepicker-template.html',
link: function(scope, element, attr) {
scope.$watch('endDate', function(newValue,oldValue){
console.log("Watch fired" + scope.endDate)
scope.dateOptions.minDate = scope.endDate;
},true)
scope.popupOpen = false;
scope.openPopup = function($event) {
$event.preventDefault();
$event.stopPropagation();
scope.popupOpen = true;
};
scope.dateOptions = {
startingDay: 1,
minDate: moment.utc()._d
}
scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
scope.opened = true;
};
}
};
});
あなたのplunkrとコードは一致しません。 –
私はendDateがオブジェクトではないので、ウォッチの最後にtrueオプションを削除してみてください。 –