gpt4 book ai didi

Angularjs:如何扩展 Javascript 类?

转载 作者:行者123 更新时间:2023-12-04 21:15:17 24 4
gpt4 key购买 nike

我正在编写我的第一个新的 Angularjs 项目。

我需要将我的自定义方法(例如 addHours() )添加到 javascript 类中,例如 Date() .
为了完整起见,这是我的(工作)方法:

Date.prototype.addHours = function(h) {
this.setHours(this.getHours() + parseInt(h));
return this;
}

推荐的方法是什么?在哪里放置原型(prototype)功能,以便在我的所有项目中都可以使用它们?我应该更好地创建一个新的 Date 类吗?我应该更好地定义 angular.service 吗?

最佳答案

也许 this article可以给你一些见解。

此外,您可以在 index.html 上的 JS 文件中包含该片段,这将使应用程序中的所有 Date 对象都具有 addHours .我倾向于为任何标准库“增强”执行此操作,以便我可以轻松识别标准库对象偏离的位置。

更新 :

大部分情况下,本文附带一个具体示例:

yourApp.factory( 'MyDate', function() {

//Constructor
function MyDate( date ) {
this.date = date; //Wrapping a JS date object.
//Probably want to add some safety here to make sure it IS a date obj
}

MyDate.prototype.addHours( h ) {
this.date.setHours( this.date.getHours() + parseInt(h) );
}

return MyDate;
});

yourApp.controller( 'MyDateController', function( $scope, MyDate ) {

$scope.someMethod = function(h) {
//Some trigger, UI or what not
$scope.myDate = new MyDate( new Date() );
$scope.myDate.addHours(h);
//Do something with the new date
};
});

关于Angularjs:如何扩展 Javascript 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25144338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com