Я изменил свой Jquery на Javascript, но я не понимаю, почему этот синтаксис работает? - PullRequest
0 голосов
/ 25 апреля 2020

Так что моей целью было обратить jquery в javascript. Вот jquery

    create: function (e) {
            var $input = $(e.target);
            var val = $input.val().trim();

            if (e.which !== ENTER_KEY || !val) {
                return;
            }

            this.todos.push({
                id: util.uuid(),
                title: val,
                completed: false
            });

            $input.val('');

            this.render();
        },

Теперь вот тот же код, который я преобразовал в javascript

create: function (e) {
            var input = e.target.value;
            var val = input.trim();

            if (e.which !== ENTER_KEY || !val) {
                return;
            }

            this.todos.push({
                id: util.uuid(),
                title: val,
                completed: false
            });

            val;

            this.render();
        },

Так что мой код Javascript работает и я понимаю 90% это, но я не получаю от 2-ой до последней строки, которая просто говорит "val;"

Я прошел отладчик и попытался понять его, но я не понимаю причину, по которой он там находится, и почему он вообще необходим?

Цель состоит в том, чтобы при вводе значения в мой список задач оно отображалось на моем экране. Код работает нормально, но я не понимаю цели "val;"

Не будет ли this.todos.pu sh автоматически добавлять значение в мой массив? Или почему бы мне не добавить "return val"? вместо этого?

1 Ответ

0 голосов
/ 25 апреля 2020

Полагаю, что предыдущий $input.val(''); использовался для очистки поля ввода после помещения его значения в массив, но в вашем коде js бесполезно выражение val;.

Кроме того, jquery код $ input.val (''); ссылается на входной элемент DOM, однако в вашем коде js оператор val просто указывает на локальную переменную вашей функции. Если вы хотите повторить предыдущее поведение, вы должны сделать что-то вроде этого: input='' вместо val;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...