鱼C论坛

 找回密码
 立即注册
查看: 2480|回复: 9

[庖丁解牛] 004 V 插值和表达式

[复制链接]
发表于 2018-8-30 16:46:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2018-8-30 17:15 编辑


                               
登录/注册后可看大图


上一讲我们搞定了生命周期,本次来学习两个很使用的功能。

在Vue中使用双大括号“{{}}”是最基本的文本插入方式。

它会自动将双向绑定的数据实时显示出来:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <meta name="keywords" content="小甲鱼,Web开发,HTML5,CSS3,Web编程教学">
  7.     <meta name="description" content="《Vue-庖丁解牛》案例演示">
  8.     <meta name="author" content="鱼C工作室">
  9.     <title>鱼C-Vue</title>
  10.     <script src="js/vue.js"></script>
  11. </head>
  12. <body>
  13. <div id="myA">{{book}}</div>
  14. <script>
  15.     var app = new Vue({
  16.         el:"#myA",
  17.         data:{
  18.             book:"《零基础入门学习Web开发》(Vue)"
  19.         }
  20.     })
  21. </script>
  22. </body>
  23. </html>
复制代码

Snip20180830_158.png


大括号里的内容会被替换为data中book的值。

只要一修改book的值,大括号里的内容会被实时替换。

稍微复杂一点,例如实时显式当前的时间,每秒更新一下。

代码:
  1. <div id="myA">{{time}}</div>
  2. <script>
  3.     var app = new Vue({
  4.         el: "#myA",
  5.         data: {
  6.             time: new Date()
  7.         },
  8.         mounted: function(){
  9. //            声明一个变量指向Vue实例this,保证作用域一致
  10.             var _this = this;
  11. //            1s修改一次的定时器
  12.             this.timer = setInterval(function () {
  13. //                每1s修改一次数据
  14.                 _this.time = new Date();
  15.             }, 1000);
  16.         },
  17.         beforeDestroy: function () {
  18.             if (this.timer) {
  19. //                在Vue实例销毁前,清除定时器
  20.                 clearInterval(this.timer);
  21.             }
  22.         }
  23.     })
  24. </script>
复制代码

Aug-30-2018 17-00-35.gif


"2018-08-30T09:06:21.214Z"是浏览器默认的时间格式。

而不是我们日常看到的格式化时间(2018-08-30 17:06:33)。

有多种方法转换,Vue的过滤器(filter)或计算属性(computed)也可以实现,后续来弄。

如果有的时候想输出HTML,而不是将数据解释后的文本,那么可以使用v-html
  1. <div id="myA">
  2.     <span v-html="link"></span>
  3. </div>
  4. <script>
  5.     var app = new Vue({
  6.         el:"#myA",
  7.         data:{
  8.             link:'<a href="ilovefishc.com">鱼C主页</a>'
  9.         }
  10.     })
  11. </script>
复制代码

Snip20180830_159.png


link的内容会被渲染为一个具有点击功能的a元素。

Vue只支持单个表达式,不支持语句和流控制。

在表达式中,不能使用用户自定义的全局变量,只能使用Vue白名单内的全局变量,就像上面的Date。

示范:
  1. <!--这是语句,不是表达式-->
  2.     {{var book = "《零基础入门学习Web开发》(Vue)"}}
  3.    
  4.     <!--不能使用流控制,要使用三元运算-->
  5.     {{if(ok} return msg}
复制代码






课后作业


1、"{{}}"是最基本的插值方式?(T/F)

2、"2018-08-30T09:06:21.214Z"是什么时间?

3、表达式中可以使用流控制?(T/F)



答案:
游客,如果您要查看本帖隐藏内容请回复





如果有收获,别忘了评分


                               
登录/注册后可看大图


这位鱼油,如果喜欢Vue,请订阅 专辑传送门)(不喜欢更要订阅



                               
登录/注册后可看大图

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-9 11:28:30 | 显示全部楼层
已学习,谢谢老板
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-26 23:16:43 | 显示全部楼层
1.T
2.浏览器默认时间
3.T
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 10:09:01 | 显示全部楼层
T
浏览器默认显示时间
F
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-18 10:34:30 | 显示全部楼层
T
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 11:15:46 | 显示全部楼层
T
2018-08-30 17:06:33
F
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 23:03:45 | 显示全部楼层
1.是的
2.当前时间?
3.不能,上面有写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-18 20:55:56 | 显示全部楼层
学习
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-10-24 20:53:52 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2024-1-22 11:15:19 | 显示全部楼层
围观
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-12 21:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表