为什么启动vue框架会默认显示某个组件页面main.jsimport Vue from vue import App from ./App.vue import router from ./router import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css // 引入样式 Vue.use(ElementUI) // 这会全局注册所有 Element UI 组件 Vue.config.productionTip false new Vue({ router, //router的作用是把Vue Router实例注入到Vue根实例中可以启动路由组件这使得 router-view 和 router-link 等内置路由组件能够正常工作 render: h h(App) //请把 App 组件渲染出来。 }).$mount(#app) //将渲染结果挂载到 id 为 app 的 DOM 元素上App.vuetemplate div nav router-link to/Home/router-link | router-link to/aboutAbout/router-link /nav router-view/ /div /templateindex.html!DOCTYPE html html lang head meta charsetutf-8 meta http-equivX-UA-Compatible contentIEedge meta nameviewport contentwidthdevice-width,initial-scale1.0 link relicon href% BASE_URL %favicon.ico title% htmlWebpackPlugin.options.title %/title /head body noscript strongWere sorry but % htmlWebpackPlugin.options.title % doesnt work properly without JavaScript enabled. Please enable it to continue./strong /noscript div idapp/div !-- built files will be auto injected -- /body /htmlmain.js是vue框架的入口文件import App from ./App.vue这部分代表引入App组件然后new Vue({ router, //router的作用是把Vue Router实例注入到Vue根实例中可以启动路由组件 这使得 router-view 和 router-link 等内置路由组件能够正常工作 render: h h(App) //请把 App 组件渲染出来。 }).$mount(#app) //将渲染结果挂载到 id 为 app 的 DOM 元素上创建vue实例这个实例会将App组件进行渲染并将渲染结果挂载到index.html中id为app的DOM中。这样vue框架启动后默认的界面就是App组件DOM概念假设你有这样的 HTMLhtmldiv idapp p classtextHello World/p /div浏览器构建的 DOM 树中div idapp是一个元素节点div 元素p classtext是它的子元素节点p 元素Hello World是文本节点不是元素只是文本你可以通过 JavaScript 获取和操作这些元素javascript// 获取 p 元素 const pElement document.querySelector(p); // 修改它的内容 pElement.textContent 你好世界; // 修改它的样式 pElement.style.color red;Vue登录注册1. 外层el-form标签htmlel-form :modeluser stylewidth: 80% :rulesrules refloginRef:modeluser这是表单的数据绑定对象。user是在 Vue 组件的data中定义的一个对象通常包含username和password属性。表单中的输入值会通过v-model自动同步到这个对象的对应属性上。stylewidth: 80%简单的内联样式设置表单宽度为父容器的 80%。:rulesrules表单验证规则。rules是在data中定义的验证规则对象它定义了每个字段如username、password的验证条件如是否必填、长度、格式等。当用户提交或触发验证时Element UI 会根据这些规则自动检查输入的有效性。refloginRef给表单注册一个引用名称。这样在 Vue 组件中可以通过this.$refs.loginRef获取到这个表单实例从而调用它的内置方法例如validate用于整体验证表单或resetFields重置表单。3. 表单项账号输入框htmlel-form-item propusername el-input prefix-iconel-icon-user sizemedium placeholder请输入账号 v-modeluser.username/el-input /el-form-itemel-form-item表单项的容器它会根据prop属性自动关联验证规则并显示验证错误信息。propusername指定该表单项对应:modeluser中的username字段。同时告诉验证规则系统这个输入框的验证规则来自rules对象中username对应的规则。el-input输入框组件。prefix-iconel-icon-user在输入框左侧显示一个 Element UI 内置的用户图标。sizemedium设置输入框的尺寸为中等。placeholder请输入账号占位提示文本。v-modeluser.username双向数据绑定将输入框的值与user.username同步。当用户输入时user.username自动更新反之如果程序修改user.username输入框也会同步显示。:modeluser和v-modeluser.username在 Element UI 表单中协同工作但分工不同1.:modeluserel-form 的绑定作用将整个表单的数据对象绑定到user变量上这个变量通常是一个对象例如{ username: , password: }。用途Element UI 的el-form通过:model知道表单的整体数据结构从而在验证、重置等操作时能够正确访问每个字段的值。特性它是单向数据流父组件传值给表单组件但表单内部会通过v-model修改这个对象的属性从而实现数据的双向更新。2.v-modeluser.usernameel-input 的绑定作用在el-input上使用将输入框的值与user对象的username属性进行双向绑定。用途当用户输入时user.username自动更新当程序修改user.username时输入框显示同步变化。特性这是 Vue 原生的双向绑定指令直接操作对象属性。3.它们的关系整体与局部:modeluser定义了整个表单的数据容器而v-modeluser.username负责容器中某个具体属性的输入绑定。验证依赖表单验证:rules依赖于:model提供的对象结构。每个el-form-item通过prop指定要验证的属性名如propusername验证规则会基于user.username的值进行检查。数据同步v-model对user.username的修改会实时反映在user对象上因此:model总能获取到最新的表单数据。示例htmlel-form :modeluser :rulesrules refform el-form-item propusername el-input v-modeluser.username/el-input /el-form-item /el-formjavascriptdata() { return { user: { username: }, // 表单数据对象 rules: { // 验证规则 username: [ { required: true, message: 请输入用户名 } ] } }; }:modeluser告诉表单数据存在user对象里。v-modeluser.username让输入框和user.username双向绑定。propusername告诉表单项验证时检查user.username。注意如果表单只有一个字段直接使用v-model绑定一个简单变量如v-modelusername而不使用:model也可以但就无法使用 Element UI 的表单验证和重置功能了。因此:model和v-model通常成对出现以发挥 Element UI 表单的完整能力。改变vue启动端口和浏览器的标签页标题vue.config.jsconst { defineConfig } require(vue/cli-service) module.exports defineConfig({ transpileDependencies: true, devServer: { port:7000 }, chainWebpack: config { config.plugin(html).tap(args { args[0].title 我要成为java高手; return args; }); } })
Vue2框架基础配置逻辑和表单双向绑定
为什么启动vue框架会默认显示某个组件页面main.jsimport Vue from vue import App from ./App.vue import router from ./router import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css // 引入样式 Vue.use(ElementUI) // 这会全局注册所有 Element UI 组件 Vue.config.productionTip false new Vue({ router, //router的作用是把Vue Router实例注入到Vue根实例中可以启动路由组件这使得 router-view 和 router-link 等内置路由组件能够正常工作 render: h h(App) //请把 App 组件渲染出来。 }).$mount(#app) //将渲染结果挂载到 id 为 app 的 DOM 元素上App.vuetemplate div nav router-link to/Home/router-link | router-link to/aboutAbout/router-link /nav router-view/ /div /templateindex.html!DOCTYPE html html lang head meta charsetutf-8 meta http-equivX-UA-Compatible contentIEedge meta nameviewport contentwidthdevice-width,initial-scale1.0 link relicon href% BASE_URL %favicon.ico title% htmlWebpackPlugin.options.title %/title /head body noscript strongWere sorry but % htmlWebpackPlugin.options.title % doesnt work properly without JavaScript enabled. Please enable it to continue./strong /noscript div idapp/div !-- built files will be auto injected -- /body /htmlmain.js是vue框架的入口文件import App from ./App.vue这部分代表引入App组件然后new Vue({ router, //router的作用是把Vue Router实例注入到Vue根实例中可以启动路由组件 这使得 router-view 和 router-link 等内置路由组件能够正常工作 render: h h(App) //请把 App 组件渲染出来。 }).$mount(#app) //将渲染结果挂载到 id 为 app 的 DOM 元素上创建vue实例这个实例会将App组件进行渲染并将渲染结果挂载到index.html中id为app的DOM中。这样vue框架启动后默认的界面就是App组件DOM概念假设你有这样的 HTMLhtmldiv idapp p classtextHello World/p /div浏览器构建的 DOM 树中div idapp是一个元素节点div 元素p classtext是它的子元素节点p 元素Hello World是文本节点不是元素只是文本你可以通过 JavaScript 获取和操作这些元素javascript// 获取 p 元素 const pElement document.querySelector(p); // 修改它的内容 pElement.textContent 你好世界; // 修改它的样式 pElement.style.color red;Vue登录注册1. 外层el-form标签htmlel-form :modeluser stylewidth: 80% :rulesrules refloginRef:modeluser这是表单的数据绑定对象。user是在 Vue 组件的data中定义的一个对象通常包含username和password属性。表单中的输入值会通过v-model自动同步到这个对象的对应属性上。stylewidth: 80%简单的内联样式设置表单宽度为父容器的 80%。:rulesrules表单验证规则。rules是在data中定义的验证规则对象它定义了每个字段如username、password的验证条件如是否必填、长度、格式等。当用户提交或触发验证时Element UI 会根据这些规则自动检查输入的有效性。refloginRef给表单注册一个引用名称。这样在 Vue 组件中可以通过this.$refs.loginRef获取到这个表单实例从而调用它的内置方法例如validate用于整体验证表单或resetFields重置表单。3. 表单项账号输入框htmlel-form-item propusername el-input prefix-iconel-icon-user sizemedium placeholder请输入账号 v-modeluser.username/el-input /el-form-itemel-form-item表单项的容器它会根据prop属性自动关联验证规则并显示验证错误信息。propusername指定该表单项对应:modeluser中的username字段。同时告诉验证规则系统这个输入框的验证规则来自rules对象中username对应的规则。el-input输入框组件。prefix-iconel-icon-user在输入框左侧显示一个 Element UI 内置的用户图标。sizemedium设置输入框的尺寸为中等。placeholder请输入账号占位提示文本。v-modeluser.username双向数据绑定将输入框的值与user.username同步。当用户输入时user.username自动更新反之如果程序修改user.username输入框也会同步显示。:modeluser和v-modeluser.username在 Element UI 表单中协同工作但分工不同1.:modeluserel-form 的绑定作用将整个表单的数据对象绑定到user变量上这个变量通常是一个对象例如{ username: , password: }。用途Element UI 的el-form通过:model知道表单的整体数据结构从而在验证、重置等操作时能够正确访问每个字段的值。特性它是单向数据流父组件传值给表单组件但表单内部会通过v-model修改这个对象的属性从而实现数据的双向更新。2.v-modeluser.usernameel-input 的绑定作用在el-input上使用将输入框的值与user对象的username属性进行双向绑定。用途当用户输入时user.username自动更新当程序修改user.username时输入框显示同步变化。特性这是 Vue 原生的双向绑定指令直接操作对象属性。3.它们的关系整体与局部:modeluser定义了整个表单的数据容器而v-modeluser.username负责容器中某个具体属性的输入绑定。验证依赖表单验证:rules依赖于:model提供的对象结构。每个el-form-item通过prop指定要验证的属性名如propusername验证规则会基于user.username的值进行检查。数据同步v-model对user.username的修改会实时反映在user对象上因此:model总能获取到最新的表单数据。示例htmlel-form :modeluser :rulesrules refform el-form-item propusername el-input v-modeluser.username/el-input /el-form-item /el-formjavascriptdata() { return { user: { username: }, // 表单数据对象 rules: { // 验证规则 username: [ { required: true, message: 请输入用户名 } ] } }; }:modeluser告诉表单数据存在user对象里。v-modeluser.username让输入框和user.username双向绑定。propusername告诉表单项验证时检查user.username。注意如果表单只有一个字段直接使用v-model绑定一个简单变量如v-modelusername而不使用:model也可以但就无法使用 Element UI 的表单验证和重置功能了。因此:model和v-model通常成对出现以发挥 Element UI 表单的完整能力。改变vue启动端口和浏览器的标签页标题vue.config.jsconst { defineConfig } require(vue/cli-service) module.exports defineConfig({ transpileDependencies: true, devServer: { port:7000 }, chainWebpack: config { config.plugin(html).tap(args { args[0].title 我要成为java高手; return args; }); } })