Как создать новую переменную, которая содержит объект, нажав на кнопку? - PullRequest
0 голосов
/ 02 декабря 2018

так что я пытаюсь создать новый объект, содержащий информацию о команде (имя, лига, игроки) каждый раз, когда форма заполнена и нажата соответствующая кнопка.

Объект командыэто пример команды класса.В настоящее время я пытаюсь сохранить сгенерированную команду как переменную.

К сожалению, переменная переопределяется при каждом нажатии кнопки.

Как мне решить эту проблему?Могу ли я каким-либо образом создавать динамическое имя переменной каждый раз, когда нажимается кнопка (например, var name = team.name)?Я хочу новую переменную для каждой созданной команды, чтобы я всегда мог ее идентифицировать и получить к ней доступ.

Извините, я все еще новичок в JS.Ура!:)

class team {
    constructor(teamname, teamleague, players) {
        this.teamname = teamname;
        this.teamleague = teamleague;
        this.players = [];

    }

var generatedTeamName = "";
var generatedTeamLeague = "";
var newteam = "";

var listofTeams =[];

$(document).ready(function(){
/* --- NEW TEAM ----------------------------------------------------------------------------------------------------*/

    $("#generateteam").click(function(){
      generatedTeamName = $('input[name="text-5"]').val();
      generatedTeamLeague = $('input[name="text-6"]').val();

      var storenewTeamhere = new team (generatedTeamName, generatedTeamLeague, []); 

    })
});

}

1 Ответ

0 голосов
/ 02 декабря 2018

Я не уверен, как вы хотите использовать сохраненные данные команды, но есть много способов сделать это.

class Team {
  constructor(teamname, teamleague, players) {
    this.teamname = teamname;
    this.teamleague = teamleague;
    this.players = players;
  }
}

/* the array method */
const listOfTeams = [];

$("#generateteam").click(function () {
  let name = $('input[name="text-5"]').val();
  let league = $('input[name="text-6"]').val();
  let team = new Team(
    name,
    league,
    []
  );

  listOfTeams.push(team);

  // you can access the team as simply `team` here
});

// here you can access the teams by array index
// listOfTeams[i]

/* the object method */
const teams = {};

$("#generateteam").click(function () {
  let name = $('input[name="text-5"]').val();
  let league = $('input[name="text-6"]').val();
  let team = new Team(
    name,
    league,
    []
  );

  teams[name] = team;

  // you can access the team as simply `team` here
});

// you can now access the team by teamname
// teams['Some Team Name']
...