Tôi đang cố gắng sử dụng các thành phần ui-bootstrap để làm cho một datepicker bên trong một phương thức. Máy ghi ngày phải gửi lại ngày được định dạng là dấu thời gian unix.datepicker bên trong một phương thức không hoạt động
này đang làm việc tốt nếu datepicker không phải là bên trong một phương thức (= các bản cập nhật dấu thời gian khi ngày được chọn): http://plnkr.co/edit/xQFmVgJojiq6aG9U8f4H?p=preview
sau đó, tôi đặt chỉ thị bên trong một phương thức: http://plnkr.co/edit/9zHQQPGAcomT5Vha33j3?p=preview
đây là các bộ điều khiển:
.controller('MyCtrl', [ '$scope', '$modal', function ($scope, $modal) {
$scope.open = function() {
var modalInstance = $modal.open({
templateUrl: 'tplModal.html',
controller: 'MyModalCtrl'
});
};
}])
.controller('MyModalCtrl', [ '$scope', '$modalInstance', function ($scope, $modalInstance) {
$scope.required= {};
$scope.disabled = function(date, mode) {
return (mode === 'day' && (date.getDay() === 0 || date.getDay() === 6));
};
$scope.minDate = new Date();
$scope.$watch('dt', function() {
if ($scope.dt) $scope.required.timestamp = Math.floor($scope.dt.getTime()/1000);
console.log('timestamp: ', $scope.required.timestamp, '/ dt: ', $scope.dt);
});
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
}]);
và mẫu html của phương thức:
<div class="modal-body">
<div ng-model="dt">
<datepicker min="minDate" show-weeks="false"></datepciker>
</div>
<div>
dt <span class="uneditable-input span2">{{dt | date:'dd.MM.yyyy' }}</span>
dt <span class="uneditable-input span2">{{ dt }}</span>
timestamp <span class="uneditable-input span2">{{ required.timestamp }}</span>
</div>
</div>
Trong phiên bản thứ hai dấu thời gian này không cập nhật khi ngày được thay đổi (giống như đồng hồ $ không hoạt động).
Bạn có biết cách thực hiện tác phẩm này không?
Nếu tôi phải đoán bạn đang gặp sự cố phạm vi; nơi phương thức tạo ra một subscope của controller. Tôi chạy vào điều này bằng cách sử dụng ng-include. Tôi không thấy dt của bạn được xác định ở đâu; nhưng giải pháp của tôi [trong trường hợp của tôi] là đặt 'giá trị đơn giản' của tôi vào một đối tượng của bộ điều khiển để nó có thể truy cập được trong phạm vi con. [các thuộc tính đơn giản không được kế thừa; nhưng đối tượng là]. – JeffryHouser