Typescript:重构/服务方法是公共的还是私有的?

问题描述 投票:0回答:1

目标:我在组件上有一个方法,该方法将在多个组件中使用,因此我想将其重构为另一个类(例如服务类)。

背景:此方法采用用户在个人资料表单上输入的出生日期,然后将其重新格式化为MM / DD / YYYY(假设他们以DD / MM / YYYY的形式输入)。

问题:如果我将方法移到服务类,它应该是公共的还是私有的?

我已经尝试过查找,但尚不完全清楚。听起来好像人们在说要公开它,除非该方法与所使用的类处于同一类。

当前

Component:

let dobForDb = (this.localeId == "es") ? this.formatDateForDB(data) : data;

formatDateForDB(data: any): string {
        // Separate by '/'
        var array = data.split("/");
        let day = array[0];
        let month = array[1];
        let year = array[2];
        let dateString = month + "/" + day + "/" + year;
        return dateString;
    }

将成为] >>

Component:

let dobForDb = (this.localeId == "es") ? this.serviceclass.formatDateForDB(data) : data;

服务等级:

public formatDateForDB(data: any): string {
        // Separate by '/'
        var array = data.split("/");
        let day = array[0];
        let month = array[1];
        let year = array[2];
        let dateString = month + "/" + day + "/" + year;
        return dateString;
    }

目标:我在组件上有一个方法,该方法可在多个组件中使用,因此我想将其重构为另一个类(例如服务类)。背景:此方法需要一个出生日期...

angular typescript private
1个回答
0
投票

如果在最终要在组件中使用的服务中声明一个方法,则该方法必须是公共的。否则,您将无法在其他类(例如,组件类)中使用该方法。

© www.soinside.com 2019 - 2024. All rights reserved.