创建一个页面

激动人心的时刻到来了! 接下来我们要通过自己动手,开始下一步的学习!

请各位同学务必准备好电脑。 只有一边学习一边敲代码,才能真正的看到效果。 调试代码的过程是无法脑补出来的。切记切记!

在Vuejs中创建页面需要两步:

  1. 新建路由
  2. 新建vue页面

新建路由

默认的路由文件是 src/router/index.js, 打开之后, 我们增加两行:

  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. // 增加这一行, 作用是引入 SayHi 这个component
  4. import SayHi from '@/components/SayHi'
  5. Vue.use(Router)
  6. export default new Router({
  7. routes: [
  8. // 增加下面几行, 表示定义了 /#/say_hi 这个url
  9. {
  10. path: '/say_hi',
  11. name: 'SayHi',
  12. component: SayHi
  13. },
  14. ]
  15. })

上面的代码中,

  1. import SayHi from '@/components/SayHi'

表示从 当前目录下的 components ,引入 SayHi 文件。 @ 表示当前目录。

然后,用下面的代码来定义一个路由:

  1. routes: [
  2. {
  3. path: '/say_hi', // 对应 一个url
  4. name: 'SayHi', // Vuejs 内部使用的名称
  5. component: SayHi // 对应的 .vue 页面的名字
  6. },
  7. ]

也就说,每当用户的浏览器访问 http://localhost:8080/#/say_hi 时, 就会渲染 ./components/SayHi.vue 文件。

name: 'SayHi' 定义了该路由在Vuejs内部的名称。 后面会对此有所解释。

创建一个新的Component

由于上面我们在路由中引用了component: src/components/SayHi.vue, 接下来,我们要创建这个文件.

代码如下:

  1. <template>
  2. <div >
  3. Hi Vue!
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data () {
  9. return { }
  10. }
  11. }
  12. </script>
  13. <style>
  14. </style>

在上面的代码中:

  • <template></template> 代码块中,表示的是 HTML模板. 里面写的就是最普通的HTML 。

  • <script/>表示的是 js 代码. 所有的js代码都写在这里. 这里使用的是 EM Script.

  • <style>表示所有的 CSS/SCSS/SASS 文件都可以写在这里.

现在,我们可以直接访问 http://localhost:8080/#/say_hi 这个链接了. 打开后,页面如下图所示:

say_hi图片

为页面增加一些样式

接下来,我们可以为页面加一些样式, 让它变得好看一些:

  1. <template>
  2. <div class='hi'>
  3. Hi Vue!
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data () {
  9. return { }
  10. }
  11. }
  12. </script>
  13. <style>
  14. .hi {
  15. color: red;
  16. font-size: 20px;
  17. }
  18. </style>

注意上面代码中的 <style>标签,里面跟普通的CSS一样, 定义了样式。

  1. .hi {
  2. color: red;
  3. font-size: 20px;
  4. }

刷新浏览器,可以看到, 文字加了颜色, 如下图所示:

加了颜色的文字

定义并显示变量

如果要在vue页面中定义一个变量,并把它显示出来,就需要事先在 data 中定义:

  1. export default {
  2. data () {
  3. return {
  4. message: '你好Vue! 本消息来自于变量'
  5. }
  6. }
  7. }

可以看到,上面的代码是通过 Webpack的项目来写的。 回忆一下, 原始的Vuejs中是如何定义一个变量(property) 的?

答案是:

  1. var app = new Vue({
  2. data () {
  3. return {
  4. message: '你好Vue! 本消息来自于变量'
  5. }
  6. }
  7. })

所以,我们可以认为, 之前用“原始的Vuejs”的代码中,写的 new Vue({...})中的代码,在webpack的框架下,都要写到 export default { .. } 中来。

完整的代码(src/components/SayHi.vue)如下所示:

  1. <template>
  2. <div>
  3. <!-- 步骤2: 在这里显示 message -->
  4. {{message}}
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. data () {
  10. return {
  11. // 步骤1: 这里定义了变量 message 的初始值
  12. message: '你好Vue! 本消息来自于变量'
  13. }
  14. }
  15. }
  16. </script>
  17. <style>
  18. </style>

页面打开如下图所示:

来自于变量的消息