首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在blade.php中使用vue获取字段的旧值

如何在blade.php中使用vue获取字段的旧值
EN

Stack Overflow用户
提问于 2019-04-11 03:02:42
回答 2查看 2.9K关注 0票数 2

我有一个登记表,使用vue在Laravel刀片文件。对于用户的无效输入,我使用了一个验证器,我希望得到这个字段的旧值,但是现在我无法使它工作,因为其中一些字段正在使用vue。这是我的密码:

regist.blade.php

代码语言:javascript
运行
复制
<div class="regist_input">
      <input type="email" name="email" v-model="email" v-bind:placeholder="placeholder_email" v-bind:class="{ error: emailError }">
      <p class="error_text" v-bind:class="{ active: emailError2 }">Invalid email.</p>
      @if($errors->has('email'))
          <p class="alert-error">
          {{ $errors->first('email') }}
          </p>
      @endif
</div>
<dd>
    <div class="regist_input">
        <input class="input_company" type="text" name="company" value="{{ old('company') }}" placeholder="company"> //this one works
    </div>
</dd>

控制器

代码语言:javascript
运行
复制
if($validator->fails()) {
    return redirect()->back()->withInput()->withErrors($validator->errors());
}

如果在字段的外面,我可以显示它的旧值,这意味着我的php验证函数正在工作。

我试过使用v-bind:value="{{ old('email') }}":value="{{ old('email') }}",但不是working.For,如何在具有vue组件的输入字段中显示旧值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-11 04:46:47

您可以使用email将刀片数据属性数据传递给vue。

首先,应该向带有数据属性的HTML元素添加一个id。然后使用刀片解析数据,并将数据属性设置为email数据。

代码语言:javascript
运行
复制
<div id="email-data" data-email="{{ old('email') }}"></div>

确切地说, (OP)

代码语言:javascript
运行
复制
<input type="email"  value="{{ old('email') }}" name="email" v-model="email" id="email-data" data-email="{{ old('email') }}" v-bind:placeholder="placeholder_email"
    v-bind:class="{ error: emailError }">

然后,在vue中创建/挂载钩子中,提取数据并设置为email状态。

代码语言:javascript
运行
复制
created() {
    const el = document.getElementById('email-data')
    const email = el.dataset.email
    this.email = email
}
票数 7
EN

Stack Overflow用户

发布于 2019-04-11 03:36:45

v-bind:value="{{ old('email') }}":value="{{ old('email') }}不能工作,因为您使用的是v-model="email"

当您使用v模型时,这意味着在Vue组件的"data“属性中应该有一个"email”属性,而设置到该"email“属性的任何值都将显示为输入字段的值。

我创建了看这支钢笔来说明这两种情况。

因此,如果要使用v-bind:value,则需要删除v-模型。现在我正在写这篇文章,我认为您不需要使用v-bind:value,只需简单地使用value (就像您使用公司输入一样)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55624061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档