2.模板语法.html 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. <script src="../../vue.js"></script>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <!-- 模板语法 -->
  13. <!-- 注意:在视图容器中,所有指令或者插值语法的表达式 所处的作用域范围 是 vm实例 -->
  14. <!-- 1. 文本插值 {{ js表达式 }}-->
  15. <p>{{ msg }}</p>
  16. <p>你好,{{ name }}!</p>
  17. <p>{{ msg + name }}</p>
  18. <p>1 + 1 = {{ 1 + 1 }}</p>
  19. <p>当前时间:{{ formatDate(Date.now()) }}</p>
  20. <!-- 下面写法是错误的 -->
  21. <!-- <p id="{{msg}}"></p> -->
  22. <!-- 2. 指令:是Vue构建用户界面的核心。指令就Vue框架 给 HTML 元素 添加的那些自定义属性。通常这些属性名都是以 "v-"开头,并且具有一定功能和含义的。
  23. <tag v-*="js表达式"></tag>
  24. -->
  25. <!-- 2.1 v-html 更新元素的 innerHTML -->
  26. <!-- 下面代码:会将p元素的innerHTML属性设置为 vm实例的name数据属性值 -->
  27. <p v-html="name">已有一些文本内容</p>
  28. <!-- v-text指令:更新元素的 textContent(innerText) -->
  29. <p v-text="msg + name"></p>
  30. </div>
  31. <script>
  32. // 定义一个全局函数,用来 格式化时间
  33. function formatDate(date) {
  34. var d = new Date(date);
  35. var y = d.getFullYear();
  36. var m = d.getMonth() + 1;
  37. var r = d.getDate();
  38. var h = d.getHours();
  39. var mm = d.getMinutes();
  40. var s = d.getSeconds();
  41. return `${y}年${m}月${r}日 ${h}时${mm}分${s}秒`;
  42. }
  43. var vm = new Vue({
  44. el: '#app',
  45. data: {
  46. msg: 'hello, Vue.',
  47. name: 'guoguo',
  48. },
  49. // 如果想要给Vue实例vm添加实例方法,需要通过methods来添加
  50. methods: {
  51. formatDate,
  52. },
  53. });
  54. </script>
  55. </body>
  56. </html>