Просмотр исходного кода

feat: 将vue3的setup写法改为传统的Object 写法

uray 4 лет назад
Родитель
Сommit
a6d2b5fedb
2 измененных файлов с 74 добавлено и 51 удалено
  1. 26 14
      src/App.vue
  2. 48 37
      src/components/HelloWorld.vue

+ 26 - 14
src/App.vue

@@ -1,21 +1,33 @@
-<script setup lang="ts">
-// This starter template is using Vue 3 <script setup> SFCs
-// Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
-import HelloWorld from './components/HelloWorld.vue'
-</script>
-
+<!--
+ * @description: 
+ * @Author: uray(1109489444@qq.com)
+ * @date: 2022-04-12 17:58:56
+ * @lastEditors: uray(1109489444@qq.com)
+ * @lastEditTime: 2022-04-12 19:17:32
+ * @FilePath: \toy_box_website\src\App.vue
+-->
 <template>
-  <img alt="Vue logo" src="./assets/logo.png" />
-  <HelloWorld msg="Hello Vue 3 + TypeScript + Vite" />
+    <img alt="Vue logo" src="./assets/logo.png" />
+    <HelloWorldVue msg="Hello Vue 3 + TypeScript + Vite" />
 </template>
 
+<script lang="ts">
+import HelloWorldVue from "./components/HelloWorld.vue";
+
+export default {
+    components: {
+        HelloWorldVue,
+    },
+};
+</script>
+
 <style>
 #app {
-  font-family: Avenir, Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  text-align: center;
-  color: #2c3e50;
-  margin-top: 60px;
+    font-family: Avenir, Helvetica, Arial, sans-serif;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    text-align: center;
+    color: #2c3e50;
+    margin-top: 60px;
 }
 </style>

+ 48 - 37
src/components/HelloWorld.vue

@@ -1,52 +1,63 @@
-<script setup lang="ts">
-import { ref } from 'vue'
-
-defineProps<{ msg: string }>()
-
-const count = ref(0)
+<!--
+ * @description: 
+ * @Author: uray(1109489444@qq.com)
+ * @date: 2022-04-12 17:58:56
+ * @lastEditors: uray(1109489444@qq.com)
+ * @lastEditTime: 2022-04-12 19:15:54
+ * @FilePath: \toy_box_website\src\components\HelloWorld.vue
+-->
+<script lang="ts">
+export default {
+    props: {
+        msg: String,
+    },
+    data() {
+        return {
+            count: 0,
+        };
+    },
+};
 </script>
 
 <template>
-  <h1>{{ msg }}</h1>
-
-  <p>
-    Recommended IDE setup:
-    <a href="https://code.visualstudio.com/" target="_blank">VSCode</a>
-    +
-    <a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>
-  </p>
-
-  <p>See <code>README.md</code> for more information.</p>
-
-  <p>
-    <a href="https://vitejs.dev/guide/features.html" target="_blank">
-      Vite Docs
-    </a>
-    |
-    <a href="https://v3.vuejs.org/" target="_blank">Vue 3 Docs</a>
-  </p>
-
-  <button type="button" @click="count++">count is: {{ count }}</button>
-  <p>
-    Edit
-    <code>components/HelloWorld.vue</code> to test hot module replacement.
-  </p>
+    <h1>{{ msg }}</h1>
+
+    <p>
+        Recommended IDE setup:
+        <a href="https://code.visualstudio.com/" target="_blank">VSCode</a>
+        +
+        <a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>
+    </p>
+
+    <p>See <code>README.md</code> for more information.</p>
+
+    <p>
+        <a href="https://vitejs.dev/guide/features.html" target="_blank"> Vite Docs </a>
+        |
+        <a href="https://v3.vuejs.org/" target="_blank">Vue 3 Docs</a>
+    </p>
+
+    <button type="button" @click="count++">count is: {{ count }}</button>
+    <p>
+        Edit
+        <code>components/HelloWorld.vue</code> to test hot module replacement.
+    </p>
 </template>
 
 <style scoped>
 a {
-  color: #42b983;
+    color: #42b983;
 }
 
 label {
-  margin: 0 0.5em;
-  font-weight: bold;
+    margin: 0 0.5em;
+    font-weight: bold;
 }
 
 code {
-  background-color: #eee;
-  padding: 2px 4px;
-  border-radius: 4px;
-  color: #304455;
+    background-color: #eee;
+    padding: 2px 4px;
+    border-radius: 4px;
+    color: #304455;
 }
 </style>