加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angularjs:如何扩展Javascript类?

发布时间:2020-12-17 06:47:16 所属栏目:安全 来源:网络整理
导读:我正在写我的第一个新的 Angularjs项目. 我需要将自定义方法(比如addHours())添加到javascript类,比如Date(). 为了完整性,这是我的(工作)方法: Date.prototype.addHours = function(h) { this.setHours(this.getHours() + parseInt(h)); return this;} 这是
我正在写我的第一个新的 Angularjs项目.

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

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

这是推荐的方法吗?在哪里放置原型功能,所以我们可以通过我的所有项目获得它们?我应该更好地创建一个新的Date类吗?我应该更好地定义角度服务吗?

解决方法

也许 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
   };
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读