Vue 只能通过 $data 才能访问到数据

发布于 2022-09-13 01:17:55 字数 954 浏览 9 评论 0

我创建了一个组件,但是我发现只能从 $data 访问到数据,直接访问时是访问不到:

    Vue.component('v-login', {
      data: function() {
        return {
          _username: this.username,
          _password: this.password,
        }
      },
      props: ['username', 'password'],
      template: `
      <div>
        <p>Username<v-input-model v-model="$data._username"></v-input></p>
        <p>Password<v-input-sync :value.sync="$data._password"></v-input></p>
        <p><button @click="login()">Login</button></p>
      </div>
      `,
      methods: {
        login() {
          this.$emit('update:username', this._username)
          // 访问不到 _username,提示是 undefined,必须通过 $data._username
          this.$emit('update:password', this._password)
          this.$emit('login')
        }
      }
    })

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春风十里 2022-09-20 01:17:55

虽然知道具体的原因,你一定要加下划线(_)吗?是故意的吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文