页面控制器,返回页面,将页面展示的数据包装到modelmap中:
页面控制器(返回页面)
页面数据由数据接口提供
展示页面 : 通过Ajax方式,调用数据接口 (从页面表单获得值,封装到对象,Ajax提交对象,渲染后台返回的结果) ---------- 局部渲染到页面上
页面控制器(返回页面)
页面数据由数据接口提供
展示页面 : 通过Ajax方式,调用数据接口(Vue 的双向渲染技术 -------直接提交vue 定义的对象-------Ajax返回结果集只需赋值动作即可)
- <script>
-
- var myVue = new Vue({
- el:"#myVue",// 绑定div
- //实例属性
- data:{
- company:"SFAC",
- user:{
- name:"ljr",
- age:20,
- gender:"female",
- roles:[],
- city:"成都",
- },
- roles:[
- {id:1,name:"admin"},
- {id:2,name:"manager"},
- {id:3,name:"staff"}
- ],
- genders:["male","female"],
- cities:[
- {id:1,anme:"成都"},
- {id:2,anme:"重庆"},
- {id:3,anme:"武汉"},
- {id:4,anme:"深圳"},
- {id:5,anme:"杭州"}
- ]
- },
- //函数
- methods:{
- test1:function(){
- console.log("This is test 1 function");
- },
- test2:function(){
- console.log("This is test 2 function");
- },
- }
- });
-
- script>
Using v-html directive:
UserName:
Password:
- <p>========数据的单项绑定===========p>
- <h4>{{company}}h4>
- <p>{{user.name}}p>
- <p>{{user.age}}p>
- <p>{{user.gender}}p>
- <p>{{user.roles}}p>
- <p>{{user.city}}p>
- <form>
- <input type="text" :value="user.name"/>
- form>
v-model 语法:页面表单控件绑定 Vue Data 中的数据,属于 Vue 和 Dom 的双向绑定;
v-model 修饰符 .lazy: change 事件之后进行同步,; .number:自动将用户的输入值转为数值类型,; .trim:自动过滤用户输入的首尾空白字符,;
- <h3>This is Vue test page.h3>
- <p>========数据的双项绑定===========p>
- <form>
- <p><input type="text" v-model.trim="user.name" />p>
- <p><input type="number" v-model.number="user.age"/>p>
- <p><input type="radio" value="male" v-model="user.gender"/> 男p>
- <p><input type="radio" value="female" v-model="user.gender"/> 女p>
-
- <p>
- <input type="checkbox" value="1" v-model="user.roles"> admin
- <input type="checkbox" value="2" v-model="user.roles"> manager
- <input type="checkbox" value="3" v-model="user.roles"> staff
- p>
-
- <p>
- <select v-model="user.city">
- <option value="1" >成都option>
- <option value="2" >重庆option>
- <option value="3" >武汉option>
- <option value="4" >深圳option>
- <option value="5" >杭州option>
- select>
- p>
-
- form>
- <p>=========条件渲染===========p>
- <p><span v-if = "user.name == 'ljr'">今天是个好日子span>p>
- <p><span v-if = "user.name == 'hfa'">今天是个雨天......span>p>
-
- <p>========列表渲染===========p>
- <p>
- <span v-for="item in genders">
- <input type="radio" :value="item" :key="item" v-model="user.gender"/> {{item}}
- span>
- p>
- <p>
- <span v-for="item in roles">
- <input type="checkbox" :value="item.id" :key="item.id" v-model="user.roles"> {{item.name}}
- span>
- p>
-
- <p>
- <select v-model="user.city">
- <option v-for="(item,index) in cities " :value="item.id" :key="item.id" >{{item.name}} -- {{index}}}option>
- select>
- p>
- <p>
- <ul>
- <li v-for="item in cities" id="item.id" :key="item.id">{{item.name}}li>
- ul>
- p>
- <p>
- <table>
- <tr>
- <td>IDtd>
- <td>Nametd>
- tr>
- <tr v-for="item in cities">
- <td>{{item.id}}td>
- <td>{{item.name}}td>
- tr>
- table>
- p>
-
-
- <p>========事件绑定========== p>
- <p>
- <button @click="test1">test1button>
- p>
-
- <p>
- <button name="btn" data="qqqqqqq" @click="test2">test2button>
- p>
-
-
-
- //函数
- methods:{
- test1:function(){
- console.log("This is test 1 function");
- },
- test2:function(even){
- console.log(event.currentTarget.name);
- console.log(event.currentTarget.attributes.data.value);
- console.log("This is test 2 function");
- ,
- }
-
-
- <div id="myVue" class="right_col" role="main">
- <h3>This is Vue test page.h3>
- <p>========数据的单项绑定===========p>
- <h4>{{company}}h4>
- <p>{{user.name}}p>
- <p>{{user.age}}p>
- <p>{{user.gender}}p>
- <p>{{user.roles}}p>
- <p>{{user.city}}p>
- <form>
- <input type="text" :value="user.name"/>
- form>
-
- <p>========数据的双项绑定===========p>
- <form>
- <p><input type="text" v-model.trim="user.name" />p>
- <p><input type="number" v-model.number="user.age"/>p>
-
-
-
- <p>========列表渲染===========p>
- <p>
- <span v-for="item in genders">
- <input type="radio" :value="item" :key="item" v-model="user.gender"/> {{item}}
- span>
- p>
- <p>
- <span v-for="item in roles">
- <input type="checkbox" :value="item.id" :key="item.id" v-model="user.roles"> {{item.name}}
- span>
- p>
-
- <p>
- <select v-model="user.city">
- <option v-for="(item,index) in cities " :value="item.id" :key="item.id" >{{item.name}} -- {{index}}}option>
- select>
- p>
- <p>
- <ul>
- <li v-for="item in cities" id="item.id" :key="item.id">{{item.name}}li>
- ul>
- p>
- <p>
- <table>
- <tr>
- <td>IDtd>
- <td>Nametd>
- tr>
- <tr v-for="item in cities">
- <td>{{item.id}}td>
- <td>{{item.name}}td>
- tr>
- table>
- p>
-
-
- form>
-
- <p>=========条件渲染===========p>
- <p><span v-if = "user.name == 'ljr'">今天是个好日子span>p>
- <p><span v-if = "user.name == 'hfa'">今天是个雨天......span>p>
-
-
- <p>========事件绑定========== p>
- <p>
- <button @click="test1">test1button>
- p>
-
- <p>
- <button name="btn" data="qqqqqqq" @click="test2">test2button>
- p>
-
-
-
-
- div>
- <script>
-
- var myVue = new Vue({
- el:"#myVue",// 绑定div
-
- //实例属性
- data:{
- company:"SFAC",
- user:{
- name:"ljr",
- age:20,
- gender:"female",
- roles:[1,2],
- city:1
- },
- roles:[
- {id:1,name:"admin"},
- {id:2,name:"manager"},
- {id:3,name:"staff"}
- ],
- genders:["male","female"],
- cities:[
- {id:1,name:"成都"},
- {id:2,name:"重庆"},
- {id:3,name:"武汉"},
- {id:4,name:"深圳"},
- {id:5,name:"杭州"}
- ]
- },
- //函数
- methods:{
- test1:function(){
- console.log("This is test 1 function");
- },
- test2:function(even){
- console.log(event.currentTarget.name);
- console.log(event.currentTarget.attributes.data.value);
- console.log("This is test 2 function");
- },
- }
- });
-
- script>
commanyError:监听company
userNameError:用户名监听
- <p>========数据的单项绑定===========p>
- <p><span style="color: red">{{commanyError}}span>p>
- <h4>{{company}}h4>
- <p><span style="color: red">{{userNameError}}span>p>
- <p>{{user.name}}p>
- <p>{{nameComputed}}p>
- <p>{{user.age}}p>
- <p>{{user.gender}}p>
- <p>{{user.roles}}p>
- <p>{{user.city}}p>
- <form>
- <input type="text" :value="user.name"/>
- form>
-
-
- data:{
- company:"SFAC",
- commanyError:"",
- user:{
- name:"ljr",
- age:20,
- gender:"female",
- roles:[1,2],
- city:1
- },
- userNameError:"",
- roles:[
- {id:1,name:"admin"},
- {id:2,name:"manager"},
- {id:3,name:"staff"}
- ],
- watch:{
- company(newValue,oldValue){
- this.commanyError = newValue.length > 6 ?"公司名太长":"";
- },
- 'user.name'(newValue,oldValue){
- this.userNameError = newValue.length > 6 ?"用户名太长":"";
- }
- },
computed
- <p><span style="color: red">{{userNameError}}span>p>
- <p>{{user.name}}p>
- <p>{{nameComputed}}p>
- <p>{{user.age}}p>
- <p>{{user.gender}}p>
- <p>{{user.roles}}p>
- <p>{{user.city}}p>
-
-
- computed:{
- nameComputed:function () {
- return this.user.name.toLocaleUpperCase();
- }
- }
- //局部过滤器
- filters:{
- filter2:function (value) {
- if (!value){
- return "";
- }
- return value.replaceAll("b","-");
- }
- }
- });
-
-
- Vue.filter("filter1",function (value) {
- //全局过滤器
- if (!value){
- return "";
- }
- return value.replaceAll("a","*")
- });
-
-
-
-
-
- <p>{{user.name | filter1 | filter2}}p>
- <p>==============动画==============p>
- <p><button @click="show = !show">点击改变动画button>p>
- <transition name="fade">
- <p v-show="show">显示动画p>
- transition>
-
-
- ===============================
-
- <style>
- .fade-enter-active, .fade-leave-active {
- transition: opacity 2s
- }
- .fade-enter, .fade-leave-to {
- opacity: 0
- }
- style>
-
- =================================
- show:true,
created:vue初始化完成,将vue种赋值的函数赋值给window
mounted:vue实例和页面进行绑定完成
updated:
destroyed:
- $(function () {
- alert("111111111111");
- test1();
- });
-
-
- ========================
- //vue实例初始化完成
- create(){
- window.test1=this.test1();
- },
- //vue实例加载完成,并且和页面元素进行绑定成功
- mounted(){
- this.test1();
- }
把所有的可能涉及的接口全部写出来,顺序:
Entity------dao----service-----serviceImpl-----controller
通过拆解模板,然后修改成我们需要的页面,进行vue的书写,定义作用范围,数据模板,函数和生命周期。创建组件与编码,配置组件路由。
从后面
渲染数据
1.记载页面--------
127.0.0.1/api/resouce---------- post resouce json result ----新增
127.0.0.1/api/resouce---------- put resouce json result ----修改
127.0.0.1/api/resource/{id} ---------- delete id path result ----删除
127.0.0.1/api/resouce/{id} ---------- get id path resouce ----根据id查询resouce
127.0.0.1/api/resouces --------- post search json pageinfo ----多条件查询resouces分页信息
127.0.01/api/resouces ------------get null List
表格页面,去模板去找
引入css、js
引入表格代码段
准备页面控制器
修改sidebar,该也页面的链接
测试
表格展示:初始化表格,按钮提交
新增:
新增按钮 --------模态了 --------新增面板
提交新增数据
修改功能
删除功能