网站制作和设计需要多少钱,河南自助建站建设代理,做的好的农产品网站有哪些,wordpress后台安装spring框架
spring 负责整合各种框架#xff0c;把new对象的部分交给spring去做#xff0c;对象new不出来#xff0c;项目就启动不起来#xff0c;这样可以有效保证所需要的对象都在容器中存在#xff0c;后续的部分都可以顺利执行控制反转#xff1a;业务对象创建依赖资…spring框架
spring 负责整合各种框架把new对象的部分交给spring去做对象new不出来项目就启动不起来这样可以有效保证所需要的对象都在容器中存在后续的部分都可以顺利执行控制反转业务对象创建依赖资源的控制权反转给容器依赖注入容器把业务对象依赖的资源注入到业务对象
容器IOC容器 业务对象servlet/action/controller 依赖资源service
mybatis用于取代dao层
git
用于版本控制程序员们每天将自己写的代码传入git仓库里 add将修改过的文件添加到Git的暂存区staging area这是准备提交的第一步 再commit将暂存区的更改提交到本地仓库这样更改就被保存在本地的版本历史中 如果有需求也可以push将本地仓库的更改推送到远程仓库通常是在团队协作时将个人的更改共享给其他团队成员 使用pull从远程仓库拉取最新的更改到本地仓库这通常发生在开始工作前以确保你的代码库是最新的。
commit到git的安装特别简单一直点击下一步即可通常使用bash命令行来运行这样比较快。
常用操控的命令行指令——
git clone http仓库网址 输入华为云用户名、密码可以将本地项目和git仓库联系起来
git cat hello.txt 看到文件的内容
git pwd 看到当前所在的目录
git add hello.txt 不用加引号
git status 获取当前你提交的文件
git log 看你是不是有任何的commit
--引号 必须英文的
git commit [hello.txt] -m add new file hello.txt 上传到华为云仓库,“-m”不能省略
用 git pull origin master 来更新本地的文件
debug
解决之前提出的下拉表格无法根据某一行的内容来决定是否显示表格的问题~
具体就是根据每一行记录UserNum的计算值判断点击下拉之后是否可以显示表格如果UserNum0就可以显示如果0就不显示表格。
因为UserNum也是计算得到的所以不能和别的列一样直接从对象中获取想了很多种方法tree-props属性还是v-if都不行但是解决方法其实很简单就是下拉列代码内部加一层div嵌套在template内部再使用v-show直接判断每一行记录/对象所包含的对象数组的长度即可而并不能根据UserNum来判断
如图圈住的代码换成——
div v-showprops.row.bankUserList ! null props.row.bankUserList.length 0附上完整代码——
templatedivh1Bank View/h1el-button clickfind typeprimarysearch/el-buttonel-button clickadd typeprimaryadd/el-buttonbr /br /br /el-input v-modelinputValue placeholder请输入id/el-inputbr /br /el-table :databankList stylewidth: 100% el-table-column typeexpandtemplate slot-scopeprops div v-showprops.row.bankUserList ! null props.row.bankUserList.length 0el-table :dataprops.row.bankUserList stylewidth: 100%el-table-column labeluserName propuserName/el-table-columnel-table-column labelrole proprole /el-table-columnel-table-column labelrealName proprealName/el-table-columnel-table-column labelpassword proppassword/el-table-columnel-table-column labelphone propphone /el-table-columnel-table-column labelcreateTime propcreateTime/el-table-columnel-table-column labelupdateTime propupdateTime/el-table-column/el-table/div/template/el-table-columnel-table-column labelUserNum width180template slot-scopeprops{{ props.row.bankUserList ! null ? props.row.bankUserList.length : null }}/template/el-table-columnel-table-column labelbankId propbankId width180/el-table-columnel-table-column labelbankName propbankName width180/el-table-columnel-table-column labelbankPhone propbankPhone width180/el-table-columnel-table-column labelintroduce propintroduce width300/el-table-columnel-table-column labelmoney propmoney width180/el-table-columnel-table-column labelrate proprate width180 /el-table-columnel-table-column labelrepayment proprepayment width180/el-table-column!-- --el-table-column fixedright label操作 width100template slot-scopescopeel-buttonclickdeleteBank(scope.row.bankId)typetextsizesmall删除/el-buttonel-buttontypetextsizesmallclickupdateBank(scope.row.bankId)编辑/el-button/template/el-table-column/el-table!-- 添加的对话框--el-dialog :titletitle :visible.syncdialogFormVisibleel-form :modelform :rulesrules refbankFormel-form-itemlabelbankName:label-widthformLabelWidthpropbankNameel-input v-modelform.bankName autocompleteoff/el-input/el-form-itemel-form-itemlabelbankPhone:label-widthformLabelWidthpropbankPhoneel-input v-modelform.bankPhone autocompleteoff/el-input/el-form-itemel-form-itemlabelintroduce:label-widthformLabelWidthpropintroduceel-input v-modelform.introduce autocompleteoff/el-input/el-form-itemel-form-item labelmoney :label-widthformLabelWidth propmoneyel-input v-modelform.money autocompleteoff/el-input/el-form-itemel-form-item labelrate :label-widthformLabelWidth proprateel-input v-modelform.rate autocompleteoff/el-input/el-form-itemel-form-itemlabelrepayment:label-widthformLabelWidthproprepaymentel-input v-modelform.repayment autocompleteoff/el-input/el-form-item/el-formdiv slotfooter classdialog-footerel-button clickcancel取 消/el-buttonel-button typeprimary clicksave保 存/el-button/div/el-dialog/div
/templatescript
import bankApi from ../api/bank;export default {name: BankView,created() {this.findAndBankUser();},data() {return {bankList: [],bank: {},inputValue: ,dialogFormVisible: false, // 控制添加的对话框是否可见title: ,formLabelWidth: 100px,form: {bankName: ,bankPhone: ,introduce: ,money: ,rate: ,repayment: ,},rules: {bankName: [{ required: true, message: 请输入银行名称, trigger: blur },{min: 2,max: 50,message: 长度在 2 到 50 个字符,trigger: blur,},],bankPhone: [{ required: true, message: 请输入银行电话, trigger: blur },{ min: 11, max: 11, message: 长度为11位, trigger: blur },],introduce: [{ required: true, message: 请输入银行介绍, trigger: blur },{min: 2,max: 200,message: 长度在 2 到 200 个字符,trigger: blur,},],money: [{ required: true, message: 请输入银行存款金额, trigger: blur },],rate: [{ required: true, message: 请输入银行利率, trigger: blur }],repayment: [{ required: true, message: 请输入银行还款期限, trigger: blur },],},};},methods: {updateBank(id) {this.title 编辑银行;this.dialogFormVisible true;bankApi.findById(id).then((res) {if (res.data.code 200) {if (res.data.data null) {this.infoMessage(数据库错误请联系管理员);} else {this.form res.data.data;}} else {this.errorMessage(res.data.message);}});},deleteBank(id) {this.$confirm(确定要删除编号为 id 的数据吗, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,type: warning,}).then(() {bankApi.deleteBank(id).then((res) {if (res.data.code 200) {this.successMessage(删除了 res.data.data 条数据);this.findAndBankUser();} else {this.errorMessage(res.data.message);}});}).catch(() {this.$message({type: info,message: 已取消删除,});});},save() {// 验证表单this.$refs.bankForm.validate((validate) {if (validate) {// 验证通过可以提交数据if (this.form.bankId null || this.form.bankId 0) {bankApi.saveBank(this.form).then((res) {if (res.data.code 200) {this.successMessage(添加了 res.data.data 条数据);// this.successMessage();this.findAndBankUser();} else {this.errorMessage(res.data.message);}});} else {bankApi.updateBank(this.form).then((res) {if (res.data.code 200) {this.successMessage(修改了 res.data.data 条数据);this.findAndBankUser();} else {this.errorMessage(res.data.message);}});}this.dialogFormVisible false;this.$refs.bankForm.resetFields(); //重置表单}});},cancel() {this.dialogFormVisible false;this.$refs.bankForm.resetFields(); //重置表单},add() {this.title 添加银行;this.dialogFormVisible true;this.$refs.bankForm.resetFields(); //重置表单},find() {if (this.inputValue) {// alert(this.inputValue);this.findById();} else {this.findAndBankUser();}},findById() {bankApi.findById(parseInt(this.inputValue, 10)).then((res) {// alert(parseInt(this.inputValue, 10));if (res.data.code 200) {this.bank res.data.data;if (this.bank ! null) {this.$set(this, bankList, []); // 清空原有数据this.bankList.push(this.bank);} else {this.infoMessage(没有找到该银行);}} else {this.errorMessage(res.data.message);}});},findAndBankUser() {bankApi.findAndBankUser().then((res) {if (res.data.code 200) {this.bankList res.data.data;}});},successMessage(message) {this.$message({message: message,type: success,});},infoMessage(message) {this.$message({message: message,type: warning,});},errorMessage(message) {this.$message.error(message);},},
};
/script