vue3中.vue基本写法

1.script标签内写法

<script>
// reactive 接收一个普通对象然后返回该普通对象的响应式代理,等同于2.x的Vue.observable
// toRefs将响应式对象转为普通对象
import { reactive, toRefs } from "vue";
export default {
  name: "home",
  components: {},
  setup() {
    // 相当于created 和 beforeCreated 两个生命周期
    const data = reactive({
      name: "小红",
      age: 20,
      info: "<i>我是斜体字</i>",
      href: "www.baidu.com",
      isRed: false,
      show: false,
      userList: [
        {
          username: "小红",
          userage: 10,
        },
        {
          username: "小白",
          userage: 10,
        },
        {
          username: "小蓝",
          userage: 10,
        },
        {
          username: "小绿",
          userage: 10,
        },
        {
          username: "小紫",
          userage: 10,
        },
      ],
    });

    return {
      ...toRefs(data),
    };
  },
};
</script>

2.模板结构,vue3不需要在外层加上大盒子

<template>
    <div>Home</div>
    <h1>{{ name }}</h1>
    <div v-text="age"></div>
    <!-- v-text 仅当成简单的文本标签 -->
    <div v-text="info"></div>
    <!-- v-html 当成html元素进行解析 -->
    <div v-html="info"></div>
    <!-- v-bind 单向绑定,绑定动态的标签属性 -->
    <p>我有一个动态的属性</p>
    <!-- class类名绑定 {'类名':属性真值}-->
    <p :class="{ red: !isRed }">我是红色字体</p>
    <!-- v-if元素从DOM上移除、v-show元素的显示与隐藏
         v-else v-else-if -->
    <p v-if="show">show:true</p>
    <p v-else>show:false</p>
    <!-- v-for 列表渲染 key性能问题-->
    <ul>
      <li v-for="(item, index) in userList" :key="index">
        {{ index }}-{{ item }}
      </li>
    </ul>
</template>
posted @ 2022-09-16 14:32  胡同树下  阅读(431)  评论(0)    收藏  举报