suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie optimiere ich diese Vue-Komponente?

<template>
  <p>
    <ul>
      <li>帐号 <input type="text" name="user"></li>
      <li>密码 <input type="password" name="password"></li>
    </ul>
    <ul v-if="title == '用户注册'">
      <li>确认密码 <input type="password" name="password"></li>
      <li>邮箱 <input type="text" name="email"></li>
      <li>
        <input type="submit" value="注册">
        <input v-on:click='change' type="button" value="登录">
      </li>
    </ul>
    <ul v-else>
      <li>
        <input type="submit" value="登录">
        <input v-on:click='change' type="button" value="注册">
        忘记密码?
      </li>
    </ul>
  </p>
</template>

Da v-if in das Element eingebunden werden muss, fühlt sich das Button-Attribut-Element unregelmäßig an

<script>
export default{
  data () {
    return {
      title: '用户登录'
    }
  },
  methods: {
    change: function () {
      this.title = this.title === '用户登录' ? '用户注册' : '用户登录'
    }
  },
  watch: {
    title: function () {
      this.$store.commit('setValue', {title: this.title})
    }
  },
  created: function () {
    this.$store.commit('setValue', {title: this.title})
  }
}
</script>

Titel ist der Seitentitel. Obwohl dies standardmäßig das Laden und Wechseln von Titeln implementiert, scheint es, dass der Code überflüssig ist

伊谢尔伦伊谢尔伦2756 Tage vor400

Antworte allen(1)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:27:59

    目前想到的一个

      methods: {
        change: function () {
          this.title = this.title === '用户登录' ? '用户注册' : '用户登录'
          this.$store.commit('setValue', {title: this.title})
          return this.title
        }
      },
      created: function () {
        this.change()
      }

    Antwort
    0
  • StornierenAntwort