应无所住,而生其心
排名
1
文章
869
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

vue 布局页,vue模板页,页面跳转,子页面切换,页面切换。页面模板,布局模板。vue路由配置

5448人阅读 2020/11/16 21:31 总访问:5404584 评论:0 收藏:0 手机
分类: 前端

vue里边点击菜单切换页面的效果,其实和mvc里边的布局页很类似。使用router-view来挖坑,和mvc里边的@RenderBody()挖坑一样,都是一个占位符。然后页面切换就是使用this.$router.push(path)方法即可。当然还要配合一点路由配置就行了。

比如我们要实现这样一个简单的页面切换:

点击我的实验可以跳转到我的实验

就这种简单的页面切换效果。其实顶部还有切换菜单,相当于顶部1级,这块2级,其实实现方式完全一样,甚至比mvc里边的嵌套布局页,或者叫二级布局页还要简单,耦合性定低。

实现上面的布局

页面结构

路由配置

核心就是设置children

如果我的实验里边还需要进行页面切换,那么在我的实验里边在配置children就可以了。同样的我这里的个人中心其实也是另外一个页面下面的children。可以所以嵌套

index页面

  1. <template>
  2. <div class="app-container">
  3. <div class="usercenter_left">
  4. <div class="userinfo">
  5. <div class="headimgwapper">
  6. <img class="headimg" src="https://img.tnblog.net/userdata/heads/dbc68332d521436c983fbc3adc6d9c7f.jpeg" alt=""
  7. srcset="">
  8. </div>
  9. <div style="padding:20px">
  10. <div class="sumtimes">
  11. <span
  12. style="background: #FE4444;height: 20px;width: 20px;color:#fff;display: inline-block;border-radius: 50px;line-height: 20px;text-align: center;"></span>
  13. <span>计时长:506 小时 46 分2</span>
  14. </div>
  15. <div class="onlinetimes">
  16. <span
  17. style="background: #EA740B;height: 20px;width: 20px;color:#fff;display: inline-block;border-radius: 50px;line-height: 20px;text-align: center;"></span>
  18. <span>日时长:25 小时 46 分 50 秒</span>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="menuwapper">
  23. <div class="menuitem">学期报告</div>
  24. <div class="menuitem menuitemfocus" @click="jump('/user/myfeedback', $event)">我的反馈</div>
  25. <div class="menuitem">我的评估</div>
  26. <div class="menuitem" @click="jump('/user/mylabroom', $event)">我的实验</div>
  27. <div class="menuitem">我的产教</div>
  28. <div class="menuitem">我的考试</div>
  29. <div class="menuitem">个人信息</div>
  30. </div>
  31. </div>
  32. <div class="usercenter_right">
  33. <router-view />
  34. </div>
  35. </div>
  36. </template>
  37. <script>
  38. export default {
  39. data() {
  40. return {
  41. courseID: '',
  42. labId: '',
  43. chapter: {},
  44. }
  45. },
  46. mounted() {
  47. },
  48. methods: {
  49. jump(path, event) {
  50. //后面换成判断地址,根据地址栏来选中
  51. //先把元素的样式全部回归成默认状态
  52. let childNodes = event.currentTarget.parentNode.childNodes
  53. for (let index = 0; index < childNodes.length; index++) {
  54. const element = childNodes[index];
  55. element.className = "menuitem"
  56. }
  57. //给当前点击的元素添加选中样式
  58. event.currentTarget.className = "menuitem menuitemfocus"
  59. //进行页面跳转
  60. this.$router.push(path)
  61. }
  62. }
  63. }
  64. </script>
  65. <style scoped="scoped">
  66. .app-container {
  67. width: 1200px;
  68. /* min-height: 200px; */
  69. display: flex;
  70. margin: 20px auto;
  71. }
  72. .usercenter_left {
  73. width: 235px;
  74. }
  75. .usercenter_left .userinfo {
  76. background-color: #fff;
  77. padding-top: 20px;
  78. padding-bottom: 10px;
  79. }
  80. .usercenter_left .headimgwapper {
  81. text-align: center;
  82. }
  83. .usercenter_left .headimg {
  84. width: 100px;
  85. height: 100px;
  86. border-radius: 50%;
  87. }
  88. .usercenter_left .menuwapper {
  89. min-height: 300px;
  90. margin-top: 20px;
  91. /* width: 240px; */
  92. background-color: #fff;
  93. }
  94. .usercenter_left .sumtimes {
  95. font-size: 13px;
  96. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  97. font-weight: normal;
  98. color: #000000;
  99. }
  100. .usercenter_left .onlinetimes {
  101. font-size: 13px;
  102. margin-top: 10px;
  103. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  104. font-weight: normal;
  105. color: #000000;
  106. }
  107. .menuwapper .menuitem {
  108. text-align: center;
  109. /* width: 66px; */
  110. height: 60px;
  111. font-size: 15px;
  112. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  113. font-weight: normal;
  114. color: #747774;
  115. cursor: pointer;
  116. letter-spacing: 2px;
  117. /* line-height: 21px; */
  118. }
  119. .menuwapper .menuitem:first-child {
  120. padding-top: 34px;
  121. }
  122. .menuwapper .menuitem:hover {
  123. color: #1C6CB8;
  124. }
  125. .menuwapper .menuitemfocus {
  126. color: #1C6CB8;
  127. }
  128. .usercenter_right {
  129. flex: 1;
  130. background-color: #fff;
  131. margin-left: 20px;
  132. /* min-height: 200px; */
  133. }
  134. </style>

index页面主要就是使用<router-view />来做占位符。以及页面的切换方法,核心就是this.$router.push(path)。还有就是页面切换时候的菜单选中效果的处理。

菜单选中调整后使用的是
具体分析请看:https://www.tnblog.net/aojiancc2/article/details/7902

  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. stuInfo: JSON.parse(localStorage['userinfo']).stuInfo,
  6. courseID: '',
  7. labId: '',
  8. chapter: {}
  9. }
  10. },
  11. watch: {
  12. // 监听路由变化的时候在进行菜单选中
  13. // $route(to, from) {
  14. // console.log('导航页to', to)
  15. // this.choiseMenu(to.fullPath)
  16. // }
  17. },
  18. mounted() {
  19. const routePath = this.$route.path
  20. this.choiseMenu(routePath)
  21. },
  22. methods: {
  23. // 菜单选中,可以跳转的路由在判断应该选中的菜单
  24. choiseMenu(routePath) {
  25. const childNodes = document.getElementById('usersubmenu').getElementsByTagName('div')
  26. for (let index = 0; index < childNodes.length; index++) {
  27. const element = childNodes[index]
  28. console.log(element.getAttribute('href'))
  29. if (routePath === element.getAttribute('href')) {
  30. element.className = 'menuitem menuitemfocus'
  31. } else {
  32. element.className = 'menuitem'
  33. }
  34. }
  35. },
  36. jump(event) {
  37. const href = event.currentTarget.getAttribute('href')
  38. // 菜单选中
  39. this.choiseMenu(href)
  40. this.$router.push(href)
  41. }
  42. }
  43. }
  44. </script>

我的实验页面

子页面的内容其实就不重要了,这里可以当中一个模板贴一下

  1. <template>
  2. <div class="labroom-container">
  3. <div class="title-wapper">
  4. <div class="title">我的实验</div>
  5. </div>
  6. <div class="split-line">
  7. </div>
  8. <div class="labroom-content">
  9. <div class="labroom-info">
  10. <el-row :gutter="20">
  11. <el-col :span="4">
  12. <div class="labroom-info-item">
  13. <div class="labroom-info-desc-wapper">
  14. <div>
  15. 188个
  16. </div>
  17. <div>
  18. 实验总数
  19. </div>
  20. </div>
  21. </div>
  22. </el-col>
  23. <el-col :span="4">
  24. <div class="labroom-info-item">
  25. <div class="labroom-info-desc-wapper">
  26. <div>
  27. 198个
  28. </div>
  29. <div>
  30. 应完成数
  31. </div>
  32. </div>
  33. </div>
  34. </el-col>
  35. <el-col :span="4">
  36. <div class="labroom-info-item">
  37. <div class="labroom-info-desc-wapper">
  38. <div>
  39. 188个
  40. </div>
  41. <div>
  42. 已完成数
  43. </div>
  44. </div>
  45. </div>
  46. </el-col>
  47. <el-col :span="4">
  48. <div class="labroom-info-item">
  49. <div class="labroom-info-desc-wapper">
  50. <div>
  51. 188个
  52. </div>
  53. <div>
  54. 整体完成率
  55. </div>
  56. </div>
  57. </div>
  58. </el-col>
  59. <el-col :span="4">
  60. <div class="labroom-info-item">
  61. <div class="labroom-info-desc-wapper">
  62. <div>
  63. 79%
  64. </div>
  65. <div>
  66. 必做完成率
  67. </div>
  68. </div>
  69. </div>
  70. </el-col>
  71. <el-col :span="4">
  72. <div class="labroom-info-item">
  73. <div class="labroom-info-desc-wapper">
  74. <div>
  75. 7名
  76. </div>
  77. <div>
  78. 班级排名
  79. </div>
  80. </div>
  81. </div>
  82. </el-col>
  83. </el-row>
  84. </div>
  85. </div>
  86. </div>
  87. </template>
  88. <script>
  89. export default {
  90. // 组件名字
  91. name: 'MyLabroom',
  92. // 组件参数
  93. props: {
  94. percentage: {
  95. type: Number,
  96. default: 0
  97. },
  98. title: {
  99. type: String,
  100. default: ''
  101. },
  102. },
  103. data() {
  104. return {
  105. courseID: '',
  106. labId: '',
  107. chapter: {},
  108. }
  109. },
  110. mounted() {
  111. this.initPic()
  112. },
  113. // 组件方法
  114. methods: {
  115. initPic() {
  116. }
  117. }
  118. }
  119. </script>
  120. <style scoped="scoped" lang="scss">
  121. .labroom-container {
  122. padding: 0 20px;
  123. .title-wapper {
  124. height: 60px;
  125. // background-color: #ffabcd;
  126. line-height: 60px;
  127. }
  128. .title {
  129. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  130. font-weight: normal;
  131. color: #333339;
  132. font-size: 16px;
  133. }
  134. .split-line {
  135. height: 1px;
  136. background: #EAEEF0;
  137. // width: 100%;
  138. margin-left: -20px;
  139. margin-right: -20px;
  140. }
  141. .labroom-info {
  142. margin-top: 26px;
  143. .labroom-info-item {
  144. height: 62px;
  145. background: #ECF5FF;
  146. border-radius: 2px 2px 2px 2px;
  147. opacity: 1;
  148. border: 1px solid #B3D8FF;
  149. text-align: center;
  150. display: flex;
  151. justify-content: center;
  152. font-size: 12px;
  153. font-family: MicrosoftYaHei-Regular, MicrosoftYaHei;
  154. font-weight: 400;
  155. color: #409EFF;
  156. .labroom-info-desc-wapper
  157. {
  158. align-self: center;
  159. }
  160. }
  161. }
  162. }
  163. </style>

内容布局多的一版本:

实验页面

贴一下代码可以当一个模板,需要类似的样式可以直接用

  1. <template>
  2. <div class="feedback-container">
  3. <div class="title-wapper">
  4. <div class="title">我的反馈</div>
  5. </div>
  6. <div class="split-line">
  7. </div>
  8. <div>
  9. <div class="feedback-content">
  10. <div class="feedback-item">
  11. <div class="feedback-title">
  12. <div class="feedback-time">
  13. 反馈时间: 2020-09-28 15:48:51
  14. </div>
  15. <div class="feedback-type">
  16. 问题类型:系统问题
  17. </div>
  18. </div>
  19. <div class="feedback-message">
  20. 反馈内容:如果是浏览速度、系统BUG、视觉显示等问题,请注明您使用的操作系统、浏览器以及版本号,以便我们尽快对应查
  21. 找问题并解决如果是浏览速度、系统BUG、视觉显示等问题,请注明您使用的操作系统、浏尽快对应查找问题并解决。
  22. </div>
  23. <div class="feedback-descible">
  24. 处理描述:如果是浏览速度、系统BUG、视觉显示等问题,请注明您使用的操作系统。
  25. </div>
  26. <div class="feedback-dealinfo">
  27. <div class="deal-result">
  28. <span>处理结果:</span>
  29. <span>已解决</span>
  30. </div>
  31. <div class="deal-time">
  32. 处理时间:2020-09-30 10:31:28
  33. </div>
  34. </div>
  35. </div>
  36. <div class="feedback-item">
  37. <div class="feedback-title">
  38. <div class="feedback-time">
  39. 反馈时间: 2020-09-28 15:48:51
  40. </div>
  41. <div class="feedback-type">
  42. 问题类型:系统问题
  43. </div>
  44. </div>
  45. <div class="feedback-message">
  46. 反馈内容:如果是浏览速度、系统BUG、视觉显示等问题,请注明您使用的操作系统、浏览器以及版本号,以便我们尽快对应查
  47. 找问题并解决如果是浏览速度、系统BUG、视觉显示等问题,请注明您使用的操作系统、浏尽快对应查找问题并解决。
  48. </div>
  49. <div class="feedback-descible">
  50. 处理描述:如果是浏览速度、系统BUG、视觉显示等问题,请注明您使用的操作系统。
  51. </div>
  52. <div class="feedback-dealinfo">
  53. <div class="deal-result">
  54. <span>处理结果:</span>
  55. <span>已解决</span>
  56. </div>
  57. <div class="deal-time">
  58. 处理时间:2020-09-30 10:31:28
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </template>
  66. <script>
  67. export default {
  68. // 组件名字
  69. name: 'Myfeedback',
  70. // 组件参数
  71. props: {
  72. percentage: {
  73. type: Number,
  74. default: 0
  75. },
  76. title: {
  77. type: String,
  78. default: ''
  79. },
  80. },
  81. data() {
  82. return {
  83. courseID: '',
  84. labId: '',
  85. chapter: {},
  86. }
  87. },
  88. mounted() {
  89. this.initPic()
  90. },
  91. // 组件方法
  92. methods: {
  93. initPic() {
  94. }
  95. }
  96. }
  97. </script>
  98. <style scoped="scoped" lang="scss">
  99. .feedback-container {
  100. padding: 0 20px;
  101. .title-wapper {
  102. height: 60px;
  103. // background-color: #ffabcd;
  104. line-height: 60px;
  105. }
  106. .title {
  107. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  108. font-weight: normal;
  109. color: #333339;
  110. font-size: 16px;
  111. }
  112. .split-line {
  113. height: 1px;
  114. background: #EAEEF0;
  115. // width: 100%;
  116. margin-left: -20px;
  117. margin-right: -20px;
  118. }
  119. // .feedback-content {
  120. // }
  121. .feedback-item {
  122. margin-top: 20px;
  123. border: 1px solid #EAEEF0;
  124. padding-bottom: 20px;
  125. .feedback-title {
  126. display: flex;
  127. background: #EAEEF0;
  128. height: 53px;
  129. line-height: 53px;
  130. padding: 0 20px;
  131. .feedback-time {
  132. font-size: 14px;
  133. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  134. font-weight: normal;
  135. color: #7C7C7C;
  136. }
  137. .feedback-type {
  138. font-size: 14px;
  139. margin-left: 43px;
  140. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  141. font-weight: normal;
  142. color: #7C7C7C;
  143. }
  144. }
  145. .feedback-message {
  146. margin-top: 20px;
  147. font-size: 14px;
  148. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  149. font-weight: normal;
  150. letter-spacing: 1px;
  151. color: #333339;
  152. padding: 0 20px;
  153. }
  154. .feedback-descible {
  155. margin-top: 20px;
  156. font-size: 14px;
  157. padding: 0 20px;
  158. letter-spacing: 1px;
  159. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  160. font-weight: normal;
  161. color: #7C7C7C;
  162. }
  163. .feedback-dealinfo {
  164. display: flex;
  165. padding: 0 20px;
  166. margin-top: 15px;
  167. .deal-result
  168. {
  169. font-size: 14px;
  170. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  171. font-weight: normal;
  172. }
  173. .deal-result span:first-child
  174. {
  175. color: #7C7C7C;
  176. }
  177. .deal-result span:last-child
  178. {
  179. color: #28B28B;
  180. }
  181. .deal-time {
  182. margin-left: 50px;
  183. font-size: 14px;
  184. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  185. font-weight: normal;
  186. color: #7C7C7C;
  187. }
  188. }
  189. }
  190. }
  191. </style>

包含了调用接口以及数据绑定的

  1. <template>
  2. <div class="feedback-container">
  3. <div class="title-wapper">
  4. <div class="title">我的反馈</div>
  5. </div>
  6. <div class="split-line">
  7. </div>
  8. <div>
  9. <div class="feedback-content">
  10. <div class="feedback-item" v-for="(item, i) in feedbackList" :key="i">
  11. <div class="feedback-title">
  12. <div class="feedback-time">
  13. 反馈时间: {{ changeDateFormat(item.createTime) }}
  14. </div>
  15. <div class="feedback-type">
  16. <span>问题类型:</span>
  17. <span v-if="item.feedbackType == 1" >系统问题</span>
  18. <span v-if="item.feedbackType == 2" >内容问题</span>
  19. <span v-if="item.feedbackType == 3">我要吐槽</span>
  20. </div>
  21. </div>
  22. <div class="feedback-message">
  23. 反馈内容:{{ item.feedbackDescribe }}
  24. </div>
  25. <div class="feedback-descible">
  26. 处理描述:{{ item.dealingOpinion }}
  27. <!-- <span>处理描述:</span> -->
  28. <!-- <span v-if="item.dealType == 0" style="color:#ffba00">{{item.dealingOpinion}}</span>
  29. <span v-if="item.dealType == 1" style="color:#13ce66">{{item.dealingOpinion}}</span>
  30. <span v-if="item.dealType == 2" style="color:#ff4949">{{item.dealingOpinion}}</span> -->
  31. </div>
  32. <div class="feedback-dealinfo">
  33. <div class="deal-result">
  34. <span>处理结果:</span>
  35. <!-- <span>已解决</span> -->
  36. <!-- <span v-if="item.dealType == 0" style="color:#ffba00">未处理</span>
  37. <span v-if="item.dealType == 1" style="color:#13ce66">已处理</span>
  38. <span v-if="item.dealType == 2" style="color:#ff4949">已驳回</span> -->
  39. <el-tag v-if="item.dealType == 0" type="warning">未处理</el-tag>
  40. <el-tag v-if="item.dealType == 1" type="success">已处理</el-tag>
  41. <el-tag v-if="item.dealType == 2" type="danger">已驳回</el-tag>
  42. </div>
  43. <div class="deal-time">
  44. 处理时间:{{ changeDateFormat(item.dealTime) }}
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. </template>
  52. <script>
  53. export default {
  54. // 组件名字
  55. name: 'Myfeedback',
  56. // 组件参数
  57. props: {
  58. percentage: {
  59. type: Number,
  60. default: 0
  61. },
  62. title: {
  63. type: String,
  64. default: ''
  65. },
  66. },
  67. data() {
  68. return {
  69. feedbackList: []
  70. }
  71. },
  72. mounted() {
  73. this.saveFeedback()
  74. },
  75. // 组件方法
  76. methods: {
  77. changeDateFormat(jsondate) {
  78. var date = new Date(jsondate).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');
  79. return date;
  80. },
  81. //获取反馈
  82. saveFeedback() {
  83. const _this = this
  84. this.$http.get('/education/api/Feedback/GetFeedbackListByStudent').then(res => {
  85. console.log("-----------------------------------------------")
  86. console.log(res)
  87. _this.feedbackList = res.data.data
  88. }).catch(e => {
  89. }
  90. )
  91. }
  92. }
  93. }
  94. </script>
  95. <style scoped="scoped" lang="scss">
  96. .feedback-container {
  97. padding: 0 20px;
  98. .title-wapper {
  99. height: 60px;
  100. // background-color: #ffabcd;
  101. line-height: 60px;
  102. }
  103. .title {
  104. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  105. font-weight: normal;
  106. color: #333339;
  107. font-size: 16px;
  108. }
  109. .split-line {
  110. height: 1px;
  111. background: #EAEEF0;
  112. // width: 100%;
  113. margin-left: -20px;
  114. margin-right: -20px;
  115. }
  116. // .feedback-content {
  117. // }
  118. .feedback-item {
  119. margin-top: 20px;
  120. border: 1px solid #EAEEF0;
  121. padding-bottom: 20px;
  122. .feedback-title {
  123. display: flex;
  124. background: #EAEEF0;
  125. height: 53px;
  126. line-height: 53px;
  127. padding: 0 20px;
  128. .feedback-time {
  129. font-size: 14px;
  130. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  131. font-weight: normal;
  132. color: #7C7C7C;
  133. }
  134. .feedback-type {
  135. font-size: 14px;
  136. margin-left: 43px;
  137. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  138. font-weight: normal;
  139. color: #7C7C7C;
  140. }
  141. }
  142. .feedback-message {
  143. margin-top: 20px;
  144. font-size: 14px;
  145. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  146. // font-weight: normal;
  147. font-weight: 500;
  148. letter-spacing: 1px;
  149. line-height: 23px;
  150. color: #333339;
  151. padding: 0 20px;
  152. }
  153. .feedback-descible {
  154. margin-top: 20px;
  155. font-size: 14px;
  156. padding: 0 20px;
  157. letter-spacing: 1px;
  158. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  159. font-weight: normal;
  160. color: #7C7C7C;
  161. }
  162. .feedback-dealinfo {
  163. display: flex;
  164. padding: 0 20px;
  165. margin-top: 15px;
  166. .deal-result {
  167. font-size: 14px;
  168. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  169. font-weight: normal;
  170. }
  171. .deal-result span:first-child {
  172. color: #7C7C7C;
  173. }
  174. // .deal-result span:last-child {
  175. // color: #28B28B;
  176. // }
  177. .deal-time {
  178. margin-left: 50px;
  179. font-size: 14px;
  180. font-family: MicrosoftYaHei-, MicrosoftYaHei;
  181. font-weight: normal;
  182. // 如果前面处理结果使用了el-tag后高度保持一直
  183. line-height: 32px;
  184. color: #7C7C7C;
  185. }
  186. }
  187. }
  188. }
  189. </style>

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

vue.js+Layer实现表格数据绑定与更新

一:使用Vue.js绑定好数据与更新事件 使用v-on绑定好事件,在事件里边直接把该行数据传递进去,在更新方法里边就可以直接...

vue.js 实现省市联动

HTML代码&lt;divid=&quot;pro_citys&quot;&gt; 省:&lt;selectid=&quot;provice&quot;v-on:change=&quot;prochange()&quo...

vue.js常见问题

一:花括号当做字符串显示的问题1:检查下绑定到vue.js的id是否重复,如果id重复了,就有可能存在这种问题,因为有可能把数...

vue.js常用指令

v-html可以把字符串当成一个html来渲染,而不是原样输出Html类似.net mvc中的@Html.Raw()方法&lt;divv-html=&quot;item.tit...

干货!div滚动到一定位置就固定他vue中实现一侧滚动到底部就固定

尊重原创:转载请注名出处div滚动到一定位置就固定他,例如左边的内容很多,右边的内容很少,如果不处理滚动到一定位置后右...

vue.js常用指令事件绑定等vue过滤器解析状态过滤器多个参数vue表格状态解析vue解析类型element ui解析类型状态el-tag

按照html的编码显示:v-html&lt;div class=&quot;font_info&quot; v-html=&quot;item.Content&quot;&gt;{{item.Content}}&l...

vue.js if用法

vue.js if可以做一些判断例如我们要把下面这个输出varvm=newVue({ el:&quot;#content&quot;, data:{ titles:[&quot;小明...

vue.js 学习日记第一章-安装vue开发环境

官网:https://cn.vuejs.org/v2/guide/ 这是一篇学习性文章,不定时更新,用来记录我学习vue.js的过程。 首先,是v...

vue.js 学习日记第二章-在vue中编写function及一些简单指令

官网:https://cn.vuejs.org/v2/guide/ vue.js 学习日记第一章:http://www.tnblog.net/18323015640/article/details/2...

vue.js 学习日记第三章-vue中的简单事件及事件修饰符

官网:https://cn.vuejs.org/v2/guide/ vue.js 学习日记第二章:http://www.tnblog.net/18323015640/article/details/2...

vue.js 学习日记第四章-vue中文本框数据获取与绑定及computed计算属性

官网:https://cn.vuejs.org/v2/guide/ vue.js学习日记第三章: http://www.tnblog.net/18323015640/article/details/2...

vue.js 学习日记第五章-v-if和v-for指令的使用方式

官网:https://cn.vuejs.org/v2/guide/ vue.js学习日记第四章: http://www.tnblog.net/18323015640/article/details/2...

vue.js 学习日记第六章-vue组件初步学习

官网:https://cn.vuejs.org/v2/guide/ vue.js学习日记第五章: http://www.tnblog.net/18323015640/article/details/2...

vue.js学习日记第七章-搭建脚手架

官网:https://cn.vuejs.org/v2/guide/ vue.js学习日记第六章: http://www.tnblog.net/18323015640/article/details/2...

vue实现好友选中效果

逛过vue官网肯定会发现一个有趣的指令“v-for”,相比与以前拼接html代码确实要上档次一点,而且减少了工作量,先看一波效...

js时间格式化vue.js时间格式化带T 时间格式化

也可以借助moment库, 参考:https://www.tnblog.net/aojiancc2/article/details/8079moment库有点大,推荐可以使用day.js...