javascript - Vuejs 导入/加载 javascript 文件
问题描述
我需要一些帮助。当我单击复选框以显示或隐藏密码时,我正在尝试加载我的 javascript 文件和列表以更改支票簿。但由于某种原因,它不起作用。我已经尝试了一切,但没有想法如何解决问题。
$(document).ready(function () {
$('#showPassword').on('click', function () {
if ($(this).prop('checked')) {
$('#password').attr('type', 'text')
} else {
$('#password').attr('type', 'password')
}
})
<template>
<div class="container-fluid p-0">
<div class="col-md-12 content">
<div class="col-md-6 join-container" id="join-container">
<form class="col-md-12 col-sm-12"
>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control"
id="password" v-model="password"
placeholder="Password">
</div>
<div class="form-group pl-0">
<div class="form-check">
<input class="form-check-input" type="checkbox"
id="showPassword" />
<label class="form-check-label"
for="show-password">Show Password</label>
</div>
</div>
<br>
</form>
</div>
</div>
</template>
<script>
import Main from '../script/Index.js'
export default {
name: 'Register',
data: () => ({
}),
methods: {
},
components: {
Main
}
}
</script>
解决方案
不建议混合使用 jQuery 和 Vue,因为它们有不同的生命周期。
Vue 能够自行完成您所追求的一切。
只需将您的复选框状态绑定到 Vuedata
属性并使用它来确定密码字段type
,例如
<input :type="passwordFieldType" class="form-control"
id="password" v-model="password"
placeholder="Password">
<!-- snip -->
<input v-model="passwordFieldType" true-value="text" false-value="password"
class="form-check-input" type="checkbox"
id="showPassword">
data: () => ({
passwordFieldType: 'password'
})
见https://vuejs.org/v2/guide/forms.html#Checkbox-1
new Vue({
el: '#app',
data: () => ({
password: '',
passwordFieldType: 'password'
})
})
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<form class="col-md-12 col-sm-12" id="app">
<div class="form-group">
<label for="password">Password</label>
<input :type="passwordFieldType" class="form-control" id="password" v-model="password" placeholder="Password">
</div>
<div class="form-group pl-0">
<div class="form-check">
<input v-model="passwordFieldType" true-value="text" false-value="password"
class="form-check-input" type="checkbox" id="showPassword" />
<label class="form-check-label" for="show-password">Show Password</label>
</div>
</div>
<br>
</form>
推荐阅读
- makefile - 从 sub-make 传递一个 shell 变量
- mysql - 如何在三个表上使用 LEFT JOIN 和 WHERE?
- groovy - 是否可以将定义为变量的 Groovy 闭包传递给函数以执行,而另一个变量作为传递调用的一部分?
- arrays - MATLAB:通过将其最后一行添加到基本矩阵的第一行来获得一个矩阵
- angular - @angular/pwa 未添加到主屏幕
- r - emmeans 包和交互包之间的简单斜率估计不同?
- calendar - 调用 POST 到 https://graph.microsoft.com/v1.0/me/events 不起作用
- c# - Assets\Scripts\Player.cs(19,45):错误 CS0117:“颜色”不包含“红色”的定义
- node.js - 当我尝试使用 theme-apollo 启动 gatsby 时,出现错误:“this.refreshClient().client.watchQuery 不是函数”
- excel - 使用具有多个值的 INDEX/MATCH 作为关键字搜索