Edit in JSFiddle

  const vm = new Vue({
    el: "#app",
    data: {p: "secret-password", t: "password"},
    watch: {
      p: function() {
        this.t = "text"
        this.$nextTick(function() { this.$refs.r2.focus() })
        this.c()
      },
    },
    methods: {
      c: _.debounce(function() {
        this.t = "password"
        this.$nextTick(function() { this.$refs.r1.focus() })
      }, 1000 * 1),
    },
  })
<div id="app">
  <div class="form-horizontal">
    <div class="form-group">
      <label class="col-md-2 control-label">パスワード</label>
      <div class="col-md-10">
        <input class="form-control" type="password" ref="r1" v-model="p" v-if="t == 'password'" />
        <input class="form-control" type="text" ref="r2" v-model="p" v-if="t == 'text'" />
      </div>
    </div>
  </div>
</div>