Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn Vue

Vue HOME Vue Giới thiệu Vue Chỉ thị Vue v-bind Vue v-if Vue v-show Vue v-for Vue Sự kiện Vue v-on Vue Methods Vue Event Modifier Vue Forms Vue v-model Vue CSS Binding Vue Tính toán Thuộc tính Vue Watchers Vue Mẫu

Mở rộng quy mô

Vue Tại sao, Cách thức và Thiết lập Trang SFC đầu tiên của Vue Thành phần Vue Đạo cụ Vue Vue v-for Thành phần Vue $emit() Vue Thuộc tính dự phòng Vue Kiểu dáng có phạm vi Vue Thành phần cục bộ Vue Slots Vue v-slot Vue Scoped Slots Vue Thành phần động Vue Teleport Vue Yêu cầu HTTP Mẫu Vue Tham chiếu Vòng đời Vue Móc nối Vue Cung cấp/Tiêm Vue Định tuyến Vue Đầu vào biểu mẫu Vue Vue Animations Vue Animations với v-for Vue Build Vue Composition API

Tham khảo Vue

Thuộc tính tích hợp của Vue Các thành phần tích hợp của Vue Các phần tử tích hợp Vue Ví dụ thành phần Vue Chỉ thị Vue Tùy chọn phiên bản Vue Móc vòng đời Vue

Vue Ví dụ

Ví dụ về Vue Bài tập Vue Vue Quiz Vue Server Chứng chỉ Vue

Định tuyến Vue

Định tuyến trong Vue được sử dụng để điều hướng ứng dụng Vue và nó xảy ra ở phía máy khách (trong trình duyệt) mà không cần tải lại toàn bộ trang, điều này mang lại trải nghiệm người dùng nhanh hơn.

Định tuyến là một cách để điều hướng, tương tự như cách chúng ta đã sử dụng các thành phần động trước đó.

Với việc định tuyến, chúng ta có thể sử dụng địa chỉ URL để hướng ai đó đến một địa điểm cụ thể trong ứng dụng Vue của mình.

Điều hướng bằng cách sử dụng thành phần động

Để hiểu định tuyến trong Vue, trước tiên chúng ta hãy xem một ứng dụng sử dụng thành phần động để chuyển đổi giữa hai thành phần.

Chúng ta có thể chuyển đổi giữa các thành phần bằng các nút:

Ví dụ

FoodItems.vue :

 <template>
    <h1>Food!</h1>
    <p>I like most types of food.</p>
</template>

AnimalCollection.vue :

 <template>
    <h1>Animals!</h1>
    <p>I want to learn about at least one new animal every year.</p>
</template>

App.vue :

 <template>
  <p>Choose what part of this page you want to see:</p>
  <button @click="activeComp = 'animal-collection'">Animals</button>
  <button @click="activeComp = 'food-items'">Food</button><br>
  <div>
    <component :is="activeComp"></component>
  </div>
</template>

<script>
export default {
  data() {
      return {
        activeComp: ''
      }
    }
}
</script>

<style scoped>
  button {
    padding: 5px;
    margin: 10px;
  }
  div {
    border: dashed black 1px;
    padding: 20px;
    margin: 10px;
    display: inline-block;
  }
</style>
Chạy ví dụ »

Từ thành phần động đến định tuyến

Chúng tôi xây dựng các SPA (Ứng dụng một trang) bằng Vue, nghĩa là ứng dụng của chúng tôi chỉ chứa một tệp *.html. Và điều đó có nghĩa là chúng tôi không thể hướng mọi người đến các tệp *.html khác để hiển thị cho họ những nội dung khác trên trang của chúng tôi.

Trong ví dụ trên, chúng tôi có thể điều hướng giữa các nội dung khác nhau trên trang, nhưng chúng tôi không thể cung cấp cho người khác địa chỉ của trang để họ đến trực tiếp phần về thực phẩm, nhưng với định tuyến, chúng tôi có thể làm được điều đó.

Với định tuyến được thiết lập phù hợp, nếu bạn mở ứng dụng Vue có phần mở rộng cho địa chỉ URL, chẳng hạn như "/food-items", bạn sẽ đến thẳng phần có nội dung thực phẩm.


Cài đặt thư viện bộ định tuyến Vue

Để sử dụng định tuyến trong Vue trên máy của bạn, hãy cài đặt thư viện Vue Router trong thư mục dự án của bạn bằng thiết bị đầu cuối:

npm install vue-router@4

Cập nhật main.js

Để sử dụng định tuyến, chúng ta phải tạo một bộ định tuyến và chúng ta thực hiện điều đó trong tệp main.js.

main.js :

 import { createApp } from 'vue'
import { createRouter, createWebHistory } from 'vue-router'

import App from './App.vue'
import FoodItems from './components/FoodItems.vue'
import AnimalCollection from './components/AnimalCollection.vue'

const router = createRouter({
    history: createWebHistory(),
    routes: [
        { path: '/animals', component: AnimalCollection },
        { path: '/food', component: FoodItems },
    ]
});

const app = createApp(App)

app.use(router);
app.component('food-items', FoodItems);
app.component('animal-collection', AnimalCollection);

app.mount('#app')

Các dòng 2, 8-14 và 18 được thêm vào để bổ sung thêm chức năng của bộ định tuyến.

Các dòng 19-20 bị xóa vì các thành phần đã được đưa vào thông qua bộ định tuyến trên các dòng 11-12.

Hiện tại, chúng tôi đã tạo một bộ định tuyến có thể mở thành phần 'AnimalCollection' nếu '/animals' được thêm vào cuối địa chỉ URL ban đầu, nhưng nó sẽ không hoạt động cho đến phần tiếp theo khi chúng tôi thêm <router-view> thành phần. Bộ định tuyến cũng theo dõi lịch sử web để bạn có thể quay lại và chuyển tiếp trong lịch sử bằng các mũi tên thường nằm ở góc trên cùng bên trái trong trình duyệt web bên cạnh URL.


Sử dụng Thành phần <router-view>

Để thay đổi nội dung trên trang của chúng ta bằng bộ định tuyến mới, chúng ta cần xóa thành phần động trong ví dụ trước và thay vào đó sử dụng thành phần <router-view> .

App.vue :

 <template>
  <p>Choose what part of this page you want to see:</p>
  <button @click="activeComp = 'animal-collection'">Animals</button>
  <button @click="activeComp = 'food-items'">Food</button><br>
  <div>
    <router-view></router-view>
    <component :is="activeComp"></component>
  </div>
</template>

Nếu bạn đã thực hiện thay đổi ở trên trên máy tính của mình, bạn có thể thêm '/food' vào địa chỉ URL của trang dự án trong trình duyệt và trang sẽ cập nhật để hiển thị nội dung thực phẩm, như sau:


Sử dụng thành phần <router-link>

Chúng ta có thể thay thế các nút bằng thành phần <router-link> vì nó hoạt động tốt hơn với bộ định tuyến.

Chúng tôi không cần thuộc tính dữ liệu 'activeComp' nữa, vì vậy chúng tôi có thể xóa nó và thực tế chúng tôi có thể xóa toàn bộ thẻ <script> vì nó trống.

App.vue :

 <template>
  <p>Choose what part of this page you want to see:</p>
  <router-link to="/animals">Animals</router-link>
  <router-link to="/food">Food</router-link><br>
  <div>
    <router-view></router-view>
  </div>
</template>

<script></script>

Tạo kiểu cho thành phần <router-link>

Thành phần <router-link> được hiển thị thành thẻ <a> . Chúng ta có thể thấy điều đó nếu chúng ta nhấp chuột phải vào phần tử trong trình duyệt và kiểm tra nó:

Như bạn có thể thấy trong ảnh chụp màn hình ở trên, Vue cũng theo dõi thành phần nào đang hoạt động và cung cấp lớp 'router-link-active' cho thành phần <router-link> đang hoạt động (hiện được hiển thị thành <a> thẻ).

Chúng ta có thể sử dụng thông tin ở trên để tạo kiểu nhằm làm nổi bật thành phần <router-link> nào đang hoạt động:

Ví dụ

App.vue :

 <template>
  <p>Choose what part of this page you want to see:</p>
  <router-link to="/animals">Animals</router-link>
  <router-link to="/food">Food</router-link><br>
  <div>
    <router-view></router-view>
  </div>
</template>

<style scoped>
  a {
    display: inline-block;
    background-color: black;
    border: solid 1px black;
    color: white;
    padding: 5px;
    margin: 10px;
  }
  a:hover,
  a.router-link-active {
    background-color: rgb(110, 79, 13);
  }
  div {
    border: dashed black 1px;
    padding: 20px;
    margin: 10px;
    display: inline-block;
  }
</style>
Chạy ví dụ »

Lưu ý: Trong ví dụ trên, địa chỉ URL không được cập nhật nhưng nếu bạn thực hiện việc này trên máy của mình thì địa chỉ URL sẽ được cập nhật. Ví dụ trên hoạt động ngay cả khi địa chỉ URL không được cập nhật vì việc định tuyến được bộ định tuyến trong Vue xử lý nội bộ.


Bài tập Vue

Kiểm tra bản thân bằng các bài tập

Bài tập:

Định tuyến trong Vue được thiết lập trong tệp 'main.js'.

Điền vào chỗ trống bên dưới để tuyến đường được tạo thành công.

nhập { createApp } từ 'vue'
nhập { createRouter, createWebHistory } từ 'vue-router'

nhập Ứng dụng từ './App.vue'
nhập FishTypes từ './comComponents/FishTypes.vue'

const bộ định tuyến = createRouter({
    lịch sử: createWebHistory(),
    tuyến đường: [
        { : '/cá', : Các loại cá }
    ]
});

const ứng dụng = createApp(Ứng dụng)
app.use(bộ định tuyến);
app.mount('#app')

Bắt đầu bài tập



×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .