Vue 声明式渲染

Vue代码的书写位置

在学习声明式渲染之前,我们先在之前创建的工程当中找一个地方来写Vue代码。
为了简单,我们就选择在App.vue文件中写。

// template即模版的意思,每一个vue文件里必须要有一个,在这里写HTML代码
<template>
  <div id="app">
  </div>
</template>

// 在这里写js逻辑相关的代码
<script>
export default {
  name: "app"
};
</script>

// 这里写样式代码
<style>

</style>

每一个Vue文件由三部分组成,template、script、style即对应HTML、JavaScript、CSS。

注意的一点是,在template里面只允许有一个块状元素,通常情况下我们在template里面写的都是div。

差值表达式({{}})

声明式渲染中最常用的一个东西就是差值表达式({{}})

差值表达式渲染–字符串
在Vue中我们将字符串用一个变量代替,并将变量放在差值表达式中:

<h2>{{title}}</h2>

变量的值在JavaScript中存放,代码如下:

<script>
// export default是固定格式,不需要纠结
export default {
    // 模块的名字
    name: "app",
    // 页面中数据存放的地方
    data() {
        return {
            title: "XXXXXXXXX"
        };
    }
};
</script>

差值表达式渲染–数组

在HTML里用差值表达式填充内容,从数组里面取值可以用数组下标的形式,代码如下:

<h2 class="title">{{title}}</h2>
<ul class="list">
    <li>{{todoList[0]}}</li>
    <li>{{todoList[1]}}</li>
    <li>{{todoList[2]}}</li>
    <li>{{todoList[3]}}</li>
    <li>{{todoList[4]}}</li>
</ul>

然后在script里面定义数组:

<script>
export default {
  name: "app",
  data() {
    return {
      title: "今日待完成事项",
      todoList: [
        "完成HTML标签学习",
        "完成CSS文字样式学习",
        "完成CSS盒模型学习",
        "完成Flex布局学习",
        "完成JavaScript入门学习"
      ]
    };
  }
};
</script>

data、scope

在上面的代码中,有两个东西需要强调一下:

  • data方法里面用来存放数据或者全局变量,具体格式如上面的代码所示。
  • scope你可以理解为锁,将css代码锁在本文件内,只在本文件内有用。

差值表达式–对象

根据要求,我们需要定义一个这样的变量:

let list = [{},{},{}]

将对象中的内容填充并放在Vue的data中:

<script>
export default {
  name: "app",
  data(){
      return {
          list:[
              {
                  name:"张三",
                  grade:"三年级二班",
                  mark:290
              },
              {
                  name:"李四",
                  grade:"三年级二班",
                  mark:270
              },
              {
                  name:"王五",
                  grade:"三年级二班",
                  mark:270
              }
          ]
      }
  }
};
</script>

接下来我们需要一个HTML结构去渲染data中的数据:

<template>
  <div id="app">
    <ul>
        <li>姓名--班级--总成绩</li>
        <li>{{list[0].name}}--{{list[0].grade}}--{{list[0].mark}}</li>
        <li>{{list[1].name}}--{{list[1].grade}}--{{list[1].mark}}</li>
        <li>{{list[2].name}}--{{list[2].grade}}--{{list[2].mark}}</li>
    </ul>
  </div>
</template>
### 回答1: Vue提供了两种方来实现页面导航:声明导航和编程导航。 1. 声明导航 声明导航是通过在模板中使用Vue Router提供的组件来实现的。例如,可以使用<router-link>标签来创建一个链接,当用户点击链接时,Vue Router会自动地导航到指定的页面。可以像下面这样使用<router-link>: ``` <router-link to="/home">Home</router-link> ``` to属性指定了要导航到的页面路径。 2. 编程导航 编程导航是通过JavaScript代码来实现的。Vue Router提供了$router对象来控制导航。可以使用$router.push()方法来导航到指定的页面。例如,可以像下面这样使用$router.push(): ``` this.$router.push('/home') ``` 这将导航到名为“home”的路由。 总的来说,声明导航更加适合简单的导航,而编程导航更适合复杂的导航和在JavaScript代码中动态导航。 ### 回答2: Vue声明导航和编程的主要区别在于指导方和实现方Vue声明导航是指通过使用Vue Router插件提供的router-link标签或者编程导航方法,以声明的方实现页面之间的导航跳转。在模板中使用router-link标签可以根据目标路由名称或路径自动生成对应的超链接,而不需要手动编写a标签或者使用window.location等方进行跳转。使用router-link可以使页面路由的变化更加方便和直观,同时也提供了一些额外的特性,如可以设置活动状态、添加CSS类等。 而Vue编程导航则是通过直接调用Vue Router插件提供的方法进行页面导航,一般使用$router对象的push、replace、go等方法。通过编程导航可以实现更加灵活和条件性的页面跳转,可以在某些事件触发或者某些条件满足时进行页面的跳转操作,而不仅仅是在模板中静态地声明。同时,编程导航还可以获得更多的路由和导航相关信息,如当前路由对象、路由参数等。 总结来说,Vue声明导航更加适用于简单的页面跳转,可以通过在模板中声明来完成;而Vue编程导航更加适用于复杂的导航逻辑和条件性的页面跳转,可以通过在代码中调用相关方法来完成。两者可以根据实际需求来选择合适的方进行页面导航。 ### 回答3: Vue声明导航和编程都是Vue.js框架中用于导航的不同方Vue声明导航指的是通过使用Vue.js提供的router-link组件来进行页面导航。router-link是Vue.js官方提供的路由导航组件,它会根据配置的路由规则自动渲染对应的导航链接。使用router-link,我们可以在模板中直接使用类似于a标签的方来进行页面导航,而不需要编写复杂的导航跳转逻辑。 Vue编程导航是指通过使用Vue.js提供的router实例的编程接口来进行页面导航。通过在组件中获取router实例,并使用路由对象提供的方法,我们可以在Vue组件的回调函数中进行程序化的导航,比如跳转到指定的路由、前进或后退等操作。 在Vue声明导航中,路由链接是在模板中声明的,即在html中直接使用router-link组件来生成对应的导航链接。这种方更适合编写简单的页面导航逻辑,对于一些复杂的导航需求可能不太方便。 而在Vue编程导航中,页面导航逻辑是在Vue组件中通过编程的方进行操作的,可以根据不同的情况来进行相应的导航操作。这种方适合处理一些复杂的导航逻辑,比如根据用户权限进行页面跳转等。 综上所述,Vue声明导航和编程导航都是Vue.js框架中用于导航的不同方,可以根据实际需求选择使用哪种方进行页面导航。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值