0
我有很多從我的API返回的資源需要將日期字符串轉換爲Date對象,以便它們可以通過md-datepicker(Angular Material)渲染。首先,我在每個服務中都做了這個(事實上,我從每個服務調用另一個服務,將字符串轉換爲日期),但這變得很難維護。將字符串轉換爲md-datepicker的渲染日期
所以我試圖通過擴展md-datepicker指令來實現這一點,但我不知道如何修改該值 - 並且每個用法將具有不同的父控制器。
下面是我得到了什麼: app.js
.directive('customDatePicker', function(DatesService) {
return {
restrict: 'A',
require: 'mdDatepicker',
scope: {
date: '='
},
link: function(scope, element, attrs, controller, transcludeFn) {
// access value in scope here
console.log(scope);
}
}
})
編輯task.html
<md-datepicker custom-date-picker date="TaskDetailCtrl.task.start_date" ng-model="TaskDetailCtrl.task.start_date">
</md-datepicker>
我想通過使用分離的範圍我就能以更容易地獲得值 - 並且無論使用哪個控制器(沒有範圍選項,我都可以看到該值,但必須知道控制器的名稱)並不重要。
不幸的是,I get a Multiple Directive Resource Contention Error.
是否有這更好的解決辦法?
不可能添加格式化你做TaskDetailCtrl.task.start_date =新的日期(<起始日期源>)?在你的控制器 – joyBlanks
但是同樣需要重複跨多個控制器和服務。我們有任務列表,單個任務,移動/更新的任務,需要日期轉換的其他資源。 – DJC
而不是'customDatePicker'作爲你的指令選擇一個名字'mdDatepicker'並且其餘的一切都保持不變,並且需要相同的檢查會發生什麼並且限制爲'E' – joyBlanks