如何在角度2中返回多个值?

时间:2018-11-29 11:08:06

标签: javascript angular

这是我的代码。我想分别返回多个值,名字和名字。我怎样才能做到这一点?插入代码,我尝试将其作为字符串返回,但不起作用

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  pageheader : string = 'text';
  imagepath : string = 'https://3wga6448744j404mpt11pbx4-wpengine.netdna-ssl.com/wp-content/uploads/2018/11/Treehouse-Logo-Green-Large.png';
  firstname : string ='Tom';
  secondname : string =' Hopkins';
  getfullName(): string 
  {
      return this.firstname;
      return this.secondname



}

3 个答案:

答案 0 :(得分:1)

您不能在单个块中添加多个return语句,相反,您可以返回同时具有两个值的对象并在需要的任何地方使用它,例如-

getfullName() {
      return {firstName: this.firstname, lastName: this.secondname}
}

答案 1 :(得分:0)

如果您想在getFullName()中使用全名,只需使用...

getfullName() {
  return `${this.firstname} ${this.secondname}`
}

答案 2 :(得分:0)

JavaScript函数返回单个值,因此在这种情况下,您可以返回对象,数组,字符串值

对象

getfullName() {
      return {firstName: this.firstname, lastName: this.secondname}
}

数组

getfullName() {
      return [this.firstname,this.secondname];
}

字符串

getfullName() {
      return `${this.firstname} ${this.secondname}`;
}

另一种方法可以创建一个函数,该函数每次基于数组调用时都会返回不同的名称

组件

  selectedName ='';
  names = ['Tom','Hopkins','Other'];
  index =-1;
  getNames () {
      this.index++;
      if (!this.names[this.index]){
        this.index  = 0
      }
    return this.names[this.index];
  }

  setSelectedName(){
    this.selectedName = this.getNames();
  }

模板

<button (click)="setSelectedName()">Get Name</button> {{selectedName}}

stackblitz demo