私はカレンダー指令を作成しました。私の意図は、「変更」ボタンを押してカレンダーの日付を更新するときです。スコープを調べると、calendarDateが更新されますが、マークアップでは同じままです。どのようなアイデアを私は間違って何ですか?このコンポーネントが使用されているAngularjs指令双方向バインディングはhtmlを更新しません
<div class="container-fluid calendar-component">
<div class="row">
<div class="col-md-12 text-center calendar-month">
<span> {{calendarDate}} </span>
</div>
</div>
<div class="row calendar-day">
<div class="col-md-12 text-center"> <a class="change"">Change </a></div>
<div class="col-md-12 text-center day-number">{{calendarDate | date: 'dd'}}</div>
<div class="col-md-12 text-center day-name">{{calendarDate | date: 'EEEE'}}</div>
</div>
var DailyTimekeeping = TimekeepingsApp.controller('DailyTimekeeping', [
'$scope', 'UserService', '$http', function($scope, UserService, $http) {
var self = this;
self.currentDate = new Date();
$scope.init = function(userId) {
self.currentDate = new Date();
}
} ]);
var calendar = TimekeepingsApp.directive('calendar', ['$timeout', function($timeout) {
return {
restrict : 'E',
scope : {
calendarDate : '=date'
},
templateUrl : 'angular/calendar.html',
link: function (scope, element, attrs) {
scope.$watch('calendarDate', function() {
element.on('click', '.change' ,function (e) {
alert('Test');
scope.calendarDate.setDate(10);
});
});
}
};
そしてcalendar.html:ここ はコードです
calendar date="dailyTimekeeping.currentDate">
' 「変更」ボタンを押す。 : –
'angular/calendar.html'ファイルの内容を投稿することができますか? – jagmohan
@DavidPfeffer htmlを追加しました。問題がないと思われるので、最初は省略しました。コードがトリガーされ、scope.calendarDateが更新されますが、マークアップ内のコードは同じです – csm86