Vue: рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рд╕рд┐рддре░ 2016  ┬╖  52рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vuejs/vue

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .lazy , .number , .trim рдФрд░ .undef рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣реИред

.lazy рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпреЗ рд╕рднреА рдЯреВ-рд╡реЗ рдлрд┐рд▓реНрдЯрд░ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ 2.0 2 рддрд░рд╣ рдХреЗ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдПрдкреАрдЖрдИ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХрд┐рд╕реА рднреА рдореМрдХреЗ рдкрд░ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдХреБрдЫ '101216' рд▓реЗрдирд╛ рдФрд░ рдЗрд╕реЗ '10/12/16' рдореЗрдВ рдмрджрд▓рдирд╛ред рдПрдХ рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдореЗрд░реЗ рдХреЛрдб рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдмрдирд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкреНрд░реЛрдк рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдЗрдирдкреБрдЯ рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп v-model.date рд▓рд┐рдЦ рд╕рдХрддрд╛ рдерд╛ред

рд╕рднреА 52 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@posva рдЧрдгрдирд╛ рдЧреБрдг рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдирд╣реАрдВ рд╣реИрдВред

рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдПрдХ рдорд┐рд╢реНрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реИред
рдЖрдк рдПрдХ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдорд┐рдХреНрд╕рд┐рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдЖрдк рдПрдХ рдХреЛ рдмрд╛рдВрдз рд╕рдХрддреЗ рд╣реИрдВ
рдЧрдгрдирд╛ рд╕рдВрдкрддреНрддрд┐ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗред рдореИрдВ рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрднреА рдмреЗрд▓рд╛ рдкрд░ рдирд╣реАрдВ рд░рдЦ рд╕рдХрддрд╛
рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ ASAP рдХрд░реВрдБрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ
рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВред рдПрдХ рдЙрдЪрд┐рдд рдПрдкреАрдЖрдИ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рдЧрд╛рдЗрдб рдЬрд░реВрд░реА рд╣реИ

рдордВрдЧрд▓рд╡рд╛рд░, 13 рд╕рд┐рддрдВрдмрд░ 2016, 18:48 рдлрд╝реНрд░рд╛рдВрд╕рд┐рд╕реНрдХреЛ рд▓реМрд░реЗрдВрдХреЛ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com . рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:

@posva https://github.com/posva рдкрд░рд┐рдХрд▓рд┐рдд рдЧреБрдг рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдирд╣реАрдВ рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/vuejs/vue/issues/3666#issuecomment -246746524, рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAoicf33lCvETQc9LBQ5GGZ93ExPcLS_ks5qptPegaJpZM4J7vQ0
.

рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдПрдХ рдорд┐рд╢реНрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реИред
рдЖрдк рдПрдХ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдорд┐рдХреНрд╕рд┐рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдЖрдк рдПрдХ рдХреЛ рдмрд╛рдВрдз рд╕рдХрддреЗ рд╣реИрдВ
рдЧрдгрдирд╛ рд╕рдВрдкрддреНрддрд┐ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗред рдореИрдВ рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрднреА рдмреЗрд▓рд╛ рдкрд░ рдирд╣реАрдВ рд░рдЦ рд╕рдХрддрд╛
рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ ASAP рдХрд░реВрдБрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ
рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВред рдПрдХ рдЙрдЪрд┐рдд рдПрдкреАрдЖрдИ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рдЧрд╛рдЗрдб рдЬрд░реВрд░реА рд╣реИ

рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд╣реЗрдВ рддреЛ рдкрд░рд┐рдХрд▓рд┐рдд рдЧреБрдг рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдирд╣реАрдВ рд╣реИрдВред рдЖрдк рдлрд╝реИрдХреНрдЯрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕ + рдорд┐рдХреНрд╕рд┐рдиреНрд╕ рдХреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдкрдардиреАрдпрддрд╛ рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред

рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд╕реНрдЯрдо рдЗрдирдкреБрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:

рдЗрдирдкреБрдЯ рдХрд╕реНрдЯрдо.рдЬреЗрдПрд╕

define(function () {
  return Vue.extend({
    data: function () {
      return {
        focused: false
      };
    },
    template: '<input @focus="onFocus" @blur="onBlur" @input="onInput" @change="setDisplayValue">',
    props: ['value'],
    watch: {
      value: function () {
        if (!this.focused) {
          this.setDisplayValue();
        }
      }
    },
    mounted: function () {
      this.setDisplayValue();
    },
    methods: {
      onInput: function () {
        this.$emit('input', this.parse(this.$el.value));
      },
      onFocus: function () {
        this.focused = true;
      },
      onBlur: function () {
        this.focused = false;
        this.setDisplayValue();
      },
      setDisplayValue: function () {
        this.$el.value = this.format(this.value);
      }
    }
  });
});

рдЗрдирдкреБрдЯ рдЯреЗрдХреНрд╕реНрдЯ.рдЬреЗрдПрд╕

define(['js/InputCustom'], function (InputCustom) {
  return InputCustom.extend({
    methods: {
      parse: function (val) {
        val = val.trim();
        return val === '' ? null : val;
      },
      format: function (val) {
        return val === null ? '' : val;
      }
    }
  });
});

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдореИрдВрдиреЗ .lazy рд╕рд╣рд┐рдд рдХрд┐рд╕реА рднреА рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрд╢реЛрдзрдХ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, @ecmel рдиреЗ рдЬреЛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд╛рдЗрдб рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЗрд╕рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░реЗрдВрдЧреЗред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдореМрдЬреВрджрд╛ v-model рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рддреНрдпреЗрдХ input рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ _InputCustom.js_ рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрд╛рдо рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА v-model рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдореЗрдВ _InputText.js_ рдХреЗ рдмрд░рд╛рдмрд░ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ v-model рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╣рдЬ рдФрд░ рд╡рд╛рдВрдЫрдиреАрдп рдкреИрдЯрд░реНрди рд╣реИред рдХрд╕реНрдЯрдо рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рдо рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбреЛрдо/рдореЙрдбрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИред

рдпрджрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рддрдХрдиреАрдХреА рд╕реАрдорд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдЪрд▓рд╛ рд░рд╣реА рд╣реИрдВред

рдХрд┐рд╕реА рднреА рдореМрдХреЗ рдкрд░ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдХреБрдЫ '101216' рд▓реЗрдирд╛ рдФрд░ рдЗрд╕реЗ '10/12/16' рдореЗрдВ рдмрджрд▓рдирд╛ред рдПрдХ рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдореЗрд░реЗ рдХреЛрдб рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдмрдирд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкреНрд░реЛрдк рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдЗрдирдкреБрдЯ рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп v-model.date рд▓рд┐рдЦ рд╕рдХрддрд╛ рдерд╛ред

рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП Vue JS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрдо рд╕реЗ рдХрдо рд╣рдореЗрдВ рдПрдХ undef рд╕рдВрд╢реЛрдзрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ undef рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ v-model рд╕рдВрд╢реЛрдзрдХ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдореЗрд░реЗ рдЪрд░ рдХреЛ null рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЗрдирдкреБрдЯ рдХрд╛ рдЯреНрд░рд┐рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рди рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕реАрдзреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/vuejs/vue/issues/5194 рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдмреЗрдорд╛рдиреА рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИред рдмрд╛рд╣рд░ рд╕реЗ, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ Vue рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреЗ рдХреБрдЫ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдЪрд╛рд░рд┐рдд рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдордЭреМрддрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрди рдЧреБрдгреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рд╣рдЯрдХрд░, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдЦрдбрд╝рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкреНрд░рд╡рд╛рд╕ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рдЗрд░рд╛рджреЗ рд╕реЗ рдПрдХ рд╕рдЪреЗрдд рдирд┐рд░реНрдгрдп рд╣реИ, рдпрд╛ рд╕рд┐рд░реНрдл рд╕рдВрдпреЛрдЧ рд╣реИред

рдХрд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдареАрдХ рд╣реИ рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рддреГрддреАрдп рдкрдХреНрд╖ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдЬреИрд╕реЗ https://github.com/text-mask/text-mask/tree/master/vue#readme рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдирдХрд╛рдмрдкреЛрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реАрдзрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЙрдбрд▓ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдЗрдирдкреБрдЯред

рддреЛ, рдореИрдВ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдореЗрдВ рджрд┐рдирд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ HTML рдорд╛рдирдХ рдЗрдирдкреБрдЯ [рдЯрд╛рдЗрдк = рджрд┐рдирд╛рдВрдХ] рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рджрд┐рдирд╛рдВрдХ рдХреЛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд╣реАрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдирд╛рдВрдХ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж рдореЗрд░реЗ рдбреЗрдЯрд╛ рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореЗрд░реА рддрд┐рдерд┐ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдВред рдпрд╣ рд╕рдорд╛рдзрд╛рди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рджреЛ-рддрд░рдлрд╝рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдпрд╛ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рджреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЪреЗрдХрдмреЙрдХреНрд╕ рдФрд░ рдЕрдиреНрдп рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, "рддрд╛рд░реАрдЦ" рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмрд╛рдд рдХреНрдпреЛрдВ рд╣реИ?

рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП +1ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдмреНрд░реЗрдирд░ рдирд╣реАрдВ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рди рд╣реЛ?

рдЗрдирдкреБрдЯ рдХреЛ рдорд╛рд╕реНрдХ рдХрд░рдирд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЕрднреНрдпрд╛рд╕ рд╣реИ, рдФрд░ рдХреБрдЫ "рд╕рд┐рдВрдЯреЗрдЯрд┐рдХ рд╢реБрдЧрд░" рдЬреИрд╕реЗ v-model.lazy.currency="amount" рдмрдирд╛рдирд╛ рдЕрджреНрднреБрдд рд╣реЛрдЧрд╛!

рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП 1+ред
рдореЗрд░реЗ рдкрд╛рд╕ рд╕рддреНрдп рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд░реЗрдбрд┐рдпреЛ рдЗрдирдкреБрдЯ рд╣реИ | рдЧрд▓рдд рдорд╛рди рдЬреЛ рддрд╛рд░реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд╛рд╣рд┐рдП - рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЧреБрдг рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдбрд┐рдпреЛ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 100 рд░реЗрдбрд┐рдпреЛ рдЗрдирдкреБрдЯ рд╣реЛрдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк 100 рдкрд░рд┐рдХрд▓рд┐рдд рдЧреБрдг рд╣реЛрдВрдЧреЗ

рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП +1 рд▓реЗрдХрд┐рди рдореИрдВ tobei рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ - рдЗрдирдкреБрдЯ [рдкреНрд░рдХрд╛рд░ = рджрд┐рдирд╛рдВрдХ] рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП +1ред

рдореИрдВ рдПрдХ рдХреЛрдгреАрдп рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗ рдЖрдпрд╛ рд╣реВрдВ, рдФрд░ рдЕрднреА рд╢реБрд░реБрдЖрдд рдХреА рд╣реИ, рдФрд░ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рджреЗрдЦрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реВ рдореЗрдВ рднреА рдПрдВрдЧреБрд▓рд░ рдХреЗ рдкрд╛рд░реНрд╕рд░реНрд╕ рдФрд░ рдлреЙрд░реНрдореЗрдЯрд░реНрд╕ рдЬреИрд╕реЗ рдХреБрдЫ рд╣реЛрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдореИрдВ v-model.dateFormat рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк mm/dd/yyyy рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд 18 рдиреЗ рдЬреЛ рдХрд╣рд╛, рдЙрд╕ рдкрд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ред рдЖрдкрдХреЛ рднреА +1

рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП +1ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ JSON рдореЗрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреБрдЫ рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рд▓реВрдк рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдПрдХ HTML рдЯреЗрдореНрдкрд▓реЗрдЯ (рдкреНрд░рддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдмрдЬрд╛рдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкрд░рд┐рдХрд▓рд┐рдд рдЧреБрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕рд░реНрд╡рд░ рдкреНрд░рд╛рд░реВрдк рдФрд░ рд╡реА-рдореЙрдбрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмреАрдЪ рдХрд╕реНрдЯрдо рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдбрд╛рд▓ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд" рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред рдпрд╣ 2.2 рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрд▓рдмреНрдз рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред рдЖрдк рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ,

this.$vnode.data.directives

рдЗрд╕реЗ рдХрд╕реНрдЯрдо рдореЙрдбрд▓ рдЗрдирдкреБрдЯ рдорд╛рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдереА рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред

рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реЛрдВрдЧреЗ!

рдореИрдВ рднреА

+1 2018 рдореЗрдВ рднреА ...

+1 рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ DRY рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЕрднреА рдореБрдЭреЗ 10 рд╡реЙрдЪрд░реНрд╕ рдмрдирд╛рдиреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрдирдкреБрдЯ рд╡рд╛рд▓реЗ рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рд╕рдм рдХреБрдЫ рд╣рд▓ рдХрд░ рджреЗрдЧрд╛ред

+1 рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА vue рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рджреЛ рддрд░рд╣ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

+1 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ

+1

рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ IMO рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╣рд╛рдпрдХреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

@nickmessing рдЬреЛ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА) рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрдирдкреБрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЗрди-рдкреНрд▓реЗрд╕ рд╕рдВрд╢реЛрдзрди рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЗрдирдкреБрдЯ рдмреЙрдХреНрд╕ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╣рдореЗрд╢рд╛ рдлрд╝реЛрди рдХреА рддрд░рд╣ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ <input v-model.phone="some_data"> рд╣реЛрдЧрд╛ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреЗрдХреНрд╕реНрдЯ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░ рджреЗрдЧрд╛ред

рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрднреА рдЬрд┐рддрдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдврд╛рдВрдЪреЗ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдХреЗрд╡рд▓ рдврд╛рдВрдЪреЗ рдХреЗ рдХреЛрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реИред рд╣рдо рдПрдХ рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ рдШрдЯрдХреЛрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реИ, рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдЕрднреА рд╣реИрдВред

@bbugh рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдИрдмреАрдПрдПрди рд╕реНрд╡рд░реВрдкрдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдорд╛рдорд▓рд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╣рд╛рдВ v-model.iban="payment.iban" рдбрд╛рд▓рдиреЗ рдХрд╛ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдФрд░ рдШреЛрд╖рдгрд╛рддреНрдордХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ ...

@franciscolourenco рд╢рд╛рдпрдж рдХреЛрдИ рдкреАрдЫреЗ рдХреБрдЫ рддрд░реНрдХ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдврд╛рдВрдЪреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПред

рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП +1, рдРрд╕реЗ рдмрд╣реБрдд рд╕реЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдореБрджреНрд░рд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрд▓рдЧ рдЗрдирдкреБрдЯ рд╣реИрдВ, рд╣рдо рд╣рдореЗрд╢рд╛ рдореЙрдбрд▓ рдореЗрдВ рд╕реЗрдВрдЯ рд░рд╛рд╢рд┐ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдирдкреБрдЯ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдбреЙрд▓рд░ рдХреА рдорд╛рддреНрд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдореЙрдбрд▓ рдореЗрдВ 123456 $ 1,234.56 рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) <input v-model.dollars="cents" />

рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ XSS рдЕрдЯреИрдХреНрд╕ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП html рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдФрд░ рдЕрдирд╕реНрдХреЗрдк рдХрд░рдирд╛ рд╣реИ (рдореЙрдбрд▓ рд╕реНрдЯреЛрд░ " A &amp; B " рдЬрдмрдХрд┐ рдЗрдирдкреБрдЯ " A & B " рджрд┐рдЦрд╛рддрд╛ рд╣реИ) <input v-model.html="text" />

+1

+1

рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП +1ред
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИрд░рд╛рди рдерд╛ рдХрд┐ рдореИрдВ v-model.trim.uppercase=... рдЬреИрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

+1

+1

+1

+1
рдореВрд▓ v-model рдЗрдирдкреБрдЯ рд╕рдВрд╢реЛрдзрдХ рдПрдХ рдмреЗрд╣рддрд░реАрди рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреАред рдЬреИрд╕рд╛ рдХрд┐ рд▓реЛрдЧ рдпрд╣рд╛рдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрди рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджрд┐рдирд╛рдВрдХ рдФрд░ рдореБрджреНрд░рд╛ рд╕рдВрд╢реЛрдзрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрд┐рди рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП? https://github.com/vuejs/rfcs

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА +1 рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЛрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЗрдВ "рдЕрднреА" рдХреБрдЫ рдЪрд╛рд╣рд┐рдП

рдЬрдмрдХрд┐ рд╕рдВрд╢реЛрдзрдХ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдореИрдВ рдПрдХ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдЧреЗрдЯрдЯрд░/рд╕реЗрдЯрд░ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдЗрдирдкреБрдЯ/рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рд╣рдордиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдЖрд╕рд╛рди рд▓рдЧрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдХрдИ рдмрд╛рддреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ:

  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрд╢реЛрдзрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдХрд▓рди-рд╕рдордп рд╕рдВрдХреЗрдд рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЛ рд░рдирдЯрд╛рдЗрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдПрдХ рдЕрд▓рдЧ рддрдВрддреНрд░ рд╣реИред

  • рд░рдирдЯрд╛рдЗрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдкреАрдЖрдИ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

  • рдЕрддреАрдд рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ-рддрд░рдлрд╝рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдереЗред рджреЛ-рддрд░рдлрд╛ рдореВрд▓реНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддреНрд░реБрдЯрд┐рд╣реАрди рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рджреЛ-рддрд░рдлрд╛ рдмрдВрдзрди рд╕реНрдерд┐рд░ рд╣реЛ рд╕рдХреЗред рдЕрдиреНрдпрдерд╛ рдЖрдк рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреВрд░реЗ рдРрдк рдХреЛ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛рддреЗ рд╣реИрдВред

    • рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .number рдФрд░ .trim рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рди-рд╡реЗ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рд╣реИрдВ (рдХреЗрд╡рд▓ DOM рдорд╛рди рдХреЛ рдШрдЯрдХ рдбреЗрдЯрд╛ рдореЗрдВ рд╕рд┐рдВрдХ рдХрд░рддреЗ рд╕рдордп рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ) рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВред
  • рдЬрдм рдХрд┐рд╕реА рдШрдЯрдХ рдкрд░ v-model рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдХреИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

  • рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдЧреИрд░-рдкрд╛рда рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ radio , checkbox рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, <select> ?

рдпреЗ рд╕рднреА рдкреНрд░рд╢реНрди рдЕрдиреБрддреНрддрд░рд┐рдд рд╣реИрдВ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдЬрд┐рддрдирд╛ рд▓рдЧрддрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдЖрд░рдПрдлрд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрди рд╕рднреА рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рддрдм рддрдХ, рдЕрдзрд┐рдХ +1 рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред

@rkingon https://github.com/vuejs/vue/issues/3666#issuecomment -249583603 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХрд╛ рдЕрд▓рдЧ/рдмреЗрд╣рддрд░ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред рдпрд╣ рдиреМрд╕рд┐рдЦрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@Gotterbild рдореБрдЭреЗ рд╡рд╣ рдирдореВрдирд╛ рдпрд╛рдж рдирд╣реАрдВ рдЖрдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ Vue рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИ (рдЬреЛ рдкреВрд░реНрд╡ рдкрд╛рд░рджрд░реНрд╢реА рдШрдЯрдХ рд╕рдорд░реНрдерди рд╣реЛ рд╕рдХрддрд╛ рдерд╛)

рдпрд╣рд╛рдБ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ рдЬреЛ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░рддрд┐рд╢рдд рдХреЛ рджрд╢рдорд▓рд╡ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА: 4.5 -> .045) рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд ("рджреЗрдЦреЗрдВ" рдорд╛рди рдФрд░ "рдореЙрдбрд▓" рдорд╛рди)

<template>
    <input type="number" v-on="listeners" v-model="innerValue">
</template>

<script>

    export default {
        props: ['value'],
        computed: {
            listeners () {
                const { input, ...listeners } = this.$listeners
                return listeners
            },
            innerValue: {
                get () {
                    return (this.value) ? `${(this.value * 100)}` : ''
                },
                set (_val) {
                    const val = (_val) ? (_val / 100) : ''
                    this.$emit('input', val)
                }
            }
        }
    }

</script>

рдпрд╣ рдЙрдкрд░реЛрдХреНрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд╕рднреА рдлреЛрдХрд╕/рдзреБрдВрдзрд▓рд╛/рдЖрджрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

@yyx990803 рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдзрд┐рдХ рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХрд╕реНрдЯрдо рд╕рдВрд╢реЛрдзрдХ рдХреА "рдЬрд╝рд░реВрд░рдд" рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрдкрднреЛрдХреНрддрд╛-рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╣реИ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ Vue рдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╣реИ, рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ ЁЯШД

рдЬрдмрдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдРрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рддрд░реНрдХ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕реЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдПрдкреАрдЖрдИ рд╣реЛрдиреЗ рд╕реЗ "рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда- рдЕрднреНрдпрд╛рд╕ рд╕рдВрд╢реЛрдзрдХ"ред

рдореИрдВ рдпрд╣рд╛рдВ рдЗрд╕рд▓рд┐рдП рдЖрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣ рд░рд╣рд╛ рдерд╛
рдореИрдВ рдЗрд╕реЗ v-model.uppercase="username" рдЬреИрд╕рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛

рдореИрдВ рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╛рдкреНрдд рд╣реБрдЖ

Vue.directive('uppercase', {
    update (el) {
        el.value = el.value.toUpperCase()
    },
})

<input type="text" v-model="username" v-uppercase>

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдХрд╕реНрдЯрдо рд╡реА-рдореЙрдбрд▓ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ?

@Christhofernatalius v-model рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ v-model рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ? рдЗрд╕ рддрд░рд╣ рдЖрдк рджреЛ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@Christhofernatalius v-model рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ v-model рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ? рдЗрд╕ рддрд░рд╣ рдЖрдк рджреЛ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@rkingon рдХреНрдпрд╛ рдпрд╣ рджреЛ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ рд╡реА-рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛, рддреЛ рдореБрдЭреЗ рдЗрдирдкреБрдЯ рд╢реНрд░реЛрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдб рдФрд░ рдЕрдирдмрд╛рдЗрдВрдб рд╣реБрдХ рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдорд╛рди рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЧреЗрдЯрдЯрд░ рднреА рджреЛ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ?
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2: рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рд╡реЙрдЪрд░ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдкреНрд░рддреНрдпреЗрдХ рдХреЗрд╡рд▓ рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдореВрд▓реНрдп рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдореЗрд░реЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЪреЗрдХ рдЖрдЙрдЯ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред

рдореЗрд░реЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рднреА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рднреА рдПрдХ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдБ - рдпрд╛рдиреА: рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рддрддреНрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдзрд┐рдХ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рдордп, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЙрд╕ рдШрдЯрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА: рдПрдХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб ) рдмрдирд╛рдо рдЗрд╕реЗ рдХреБрдЫ рдордирдорд╛рдиреЗ рдШрдЯрдХ/рддрддреНрд╡ рдкрд░ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЬреЛ рдирд┐рд░реНрджреЗрд╢ рдХреА рд╢рдХреНрддрд┐ рд╣реИред

рдмрд┐рд▓реНрд▓реА рдХреА рддреНрд╡рдЪрд╛ рдХреЗ рджреЛ рддрд░реАрдХреЗ, рд╡рд┐рдХрд▓реНрдк рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ :)

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд░рдПрдлрд╕реА рд╣реИ?

рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛

рдореИрдВ рдЗрд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рд┐рд░реНрдл рдЙрд╕ рдЖрд░рдПрдлрд╕реА рд░реЗрдкреЛ рдпрд╛ рдХреБрдЫ рдФрд░ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ?

https://github.com/vuejs/rfcs#what -the-process-is рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдордЬрд╛рдХрд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг:

Vue.directive('number', {
  update: function(el, binding, vnode) {
    el.value = el.value.replace(/[^\d.]/g, '');
  },
});

рдпрджрд┐ рдЖрдк рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдПрдХ рд╡реА-рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде) рдФрд░ рд╣рд░ рджреВрд╕рд░реЗ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдореЗрдВ рдЕрдХреНрд╖рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рддреЛ v-model el.value рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЪреВрдВрдХрд┐ рдЖрдк рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╡рд╕реНрддреБ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рд╡реА-рдореЙрдбрд▓ рдХреЛ "рдкреБрди: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд" рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ

@jeankvd рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдУрд╡рд░рдХрд┐рд▓ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд░реИрдкрд░ рдШрдЯрдХ рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдКрдкрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ)ред

рдПрдХ рд░реИрдкрд░ рдШрдЯрдХ рдЖрдкрдХреЛ "рдФрд░ рдЕрдзрд┐рдХ" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЖрдкрдХреЗ "рдирдВрдмрд░" рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╡реА-рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Number рдмрди рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдпрд╣ рдЕрднреА рднреА String рд╣реИред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЦрд╛рд▓реА рдореВрд▓реНрдп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ? рд╢реВрдиреНрдп? рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд? - рдЖрдк emptyValue рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдмрд╛рд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рдХреАрд▓ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реАрдорд╛рдПрдВ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдШрдЯрдХ рд╣реЛрдиреЗ рд╕реЗ рдХрд╣реАрдВ рдмреЗрд╣рддрд░ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдЖрдИрдПрдордУ)ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Jokcy picture Jokcy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

robertleeplummerjr picture robertleeplummerjr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bdedardel picture bdedardel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lmnsg picture lmnsg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

finico picture finico  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ