Существует ли хороший способ присоединить объекты JavaScript к элементам HTML?

Когда класс имеет конструктора, который берет слишком много аргументов, это обычно - знак, что это имеет слишком много обязанностей. Это может, вероятно, быть повреждено в отдельные классы, которые сотрудничают для предоставления тех же технических возможностей.

В случае, если Вам действительно нужно это много аргументов конструктору, шаблон Разработчика может помочь Вам. Цель состоит в том, чтобы все еще передать все аргументы конструктору, таким образом, ее состояние инициализируется от запуска, и можно все еще сделать класс неизменным в случае необходимости.

Посмотрите ниже:

public class Toto {
    private final String state0;
    private final String state1;
    private final String state2;
    private final String state3;

    public Toto(String arg0, String arg1, String arg2, String arg3) {
        this.state0 = arg0;
        this.state1 = arg1;
        this.state2 = arg2;
        this.state3 = arg3;
    }

    public static class TotoBuilder {
        private String arg0;
        private String arg1;
        private String arg2;
        private String arg3;

        public TotoBuilder addArg0(String arg) {
            this.arg0 = arg;
            return this;
        }
        public TotoBuilder addArg1(String arg) {
            this.arg1 = arg;
            return this;
        }
        public TotoBuilder addArg2(String arg) {
            this.arg2 = arg;
            return this;
        }
        public TotoBuilder addArg3(String arg) {
            this.arg3 = arg;
            return this;
        }

        public Toto newInstance() {
            // maybe add some validation ...
            return new Toto(this.arg0, this.arg1, this.arg2, this.arg3);
        }
    }

    public static void main(String[] args) {
        Toto toto = new TotoBuilder()
            .addArg0("0")
            .addArg1("1")
            .addArg2("2")
            .addArg3("3")
            .newInstance();
    }

}
93
задан Michał Perłakowski 2 January 2016 в 11:22
поделиться

2 ответа

Вы смотрели jQuery data () метод? Вы можете назначить элементу сложные объекты, если хотите, или вы можете использовать этот метод для хранения ссылки на объект (или некоторые другие данные), как минимум.

43
ответ дан 24 November 2019 в 06:19
поделиться

Объекты JavaScript могут иметь произвольные свойства, назначенные им, вам ничего не нужно делать, чтобы это разрешить. Сюда входят элементы DOM; хотя такое поведение не является частью стандарта DOM, оно имело место еще в самых первых версиях JavaScript и является полностью надежным.

var div= document.getElementById('nav');
div.potato= ['lemons', 3];
100
ответ дан 24 November 2019 в 06:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: