嗨我需要指針來了解如何創建封裝角度js過濾器的實用程序模塊,以便我可以將輸入值(2014-11-14T22:51:04.635Z)傳遞給格式化並獲得格式化(ng-filter:2014年11月14日 - 02:51 PM)輸出。目標是利用角度Js過濾器屬性獨立於前端框架。像鬍鬚這樣的框架在HTML中有{{}}標籤,這種角度也有,這可能會導致在html文件中直接使用ng-filters時出現問題。所以我試圖使用ngFilters而不在html中包含它們。所以我們的目標是接受來自模板的值,使用ngFilters將它們格式化爲JS文件並將值推回模板。創建封裝角度js特性的實用程序模塊
2
A
回答
1
您可以方便地調用$過濾器在JavaScript:
var input = '2014-11-14T22:51:04.635Z';
var format = 'd HHH yyyy - h:mm a';
var output = $filter('date')(new Date(input), format);
如果你想改變一個數組,你可以使用.MAP
// You need to get $filter somewhere
var format = 'd HHH yyyy - h:mm a';
var formatDate = $filter('date'); // Save (input.length - 1) function calls
input = ['2014-11-14T22:51:04.635Z', ...]
var output = input.map(function(in) {
return formatDate(new Date(in), format);
});
要了解更多關於角的date
過濾器: https://docs.angularjs.org/api/ng/filter/date
0
我不確定你在做什麼是非常值得的。我在想,如果改變角度的開始和結束的符號可以完全解決您的問題,這樣你就可以直接使用裏面的HTML過濾器:
AngularJS-Twig conflict with double curly braces
有一些情況下,你需要手動調用特定的過濾器在JavaScript。您使用它之前,你可以做到這一點使用$過濾器需要由角注射:
How to use a filter in a controller?
現在我希望你不需要這個還是最好把不正常的角度應用程序使用此,但在極少數情況下,您可能需要在非角度上下文中訪問角度功能(如$ filter)。在這種情況下,你可以使用下列元素訪問$範圍:
var scope = $("path to the DOM element").scope();
現在你可以閱讀和範圍寫入範圍和更好的通話功能。在這種情況下,你需要把你的過濾器的實例的範圍是這樣的:
$scope.filterInstance = $filter;
現在你可以從任何調用此過濾器實例,其中外連角上下文: VAR範圍= $(」範圍();}。 var result = scope.filterInstance(「xyz」);
0
如果你想格式化日期,然後使用http://momentjs.com/
這就是我即使在角框架使用。
1
如果您想在不實際引導AngularJS到您的網絡應用程序的情況下訪問某些AngularJS功能,您可以創建一個獨立的注入器。
var $injector = angular.injector(['ng']);
然後,您可以從它
$filter = $injector.invoke(['$filter', function ($filter) { return $filter; }]);
檢索$filter
服務,並有任何默認AngularJS的過濾器的訪問
var formattedDate = $filter('date')(originalDate, format);
相關問題
- 1. 爲封裝創建屬性
- 2. 角度安裝模塊2
- 3. 帶CLI的角度創建組件提供封裝:ViewEncapsulation.None
- 4. jQueryUI創建封裝的最佳實踐
- 5. 如何命名封裝應用程序功能的maven模塊?
- 6. 電子封裝應用程序無法找到模塊sqlite3的
- 7. 在角度js中創建360度產品預覽滑塊
- 8. 將一些有用的js庫封裝到角度模塊的最佳做法是什麼?
- 9. 如何創建JS模塊?
- 10. 如何在現有的應用程序內添加角度js模塊
- 11. Dnn模塊封裝問題
- 12. 閉合模塊封裝
- 13. 封裝requireJS及其模塊
- 14. 如何封裝python模塊?
- 15. 封裝示波器角度的指令
- 16. 創建獨立節點js應用程序安裝程序
- 17. npm模塊實現封裝shell命令的模式?
- 18. sugarCRM:使用模塊加載程序創建關係,未安裝程序包
- 19. material.svgAssetsCache注入應用程序模塊 - 角js
- 20. 角度:[$ injector:modulerr]無法實例化模塊
- 21. 角度實例化模塊錯誤
- 22. 角度模塊不可用
- 23. 模塊與角度依賴性
- 24. 封裝在JavaScript模塊模式
- 25. 如何使用帶角度模塊的回退js?
- 26. 使用自定義屬性和模板創建角度指令
- 27. Objective-C的塊夫特封閉翻譯Estimote「實施例」的應用程序
- 28. 模塊不可 - 角JS
- 29. 角js初始模塊
- 30. 封裝導入模塊的範圍
我會寫一個JavaScript庫,它執行常見任務並將其用於此目的... – harishr 2014-11-22 07:37:49