- Chuyên mục khác :
- PHP và Laravel
- ·
- Database - Git - Linux
- ·
- Vuejs
- ·
- Lập Trình Web
- Getting Started
- Vue.js là gì?
- Các cách sử dụng Vue khác nhau
- Khám phá các lựa chọn thay thế Vue
- Xây dựng ứng dụng đầu tiên chỉ bằng JavaScript
- Xây dựng lại ứng dụng với Vue
- Basics & Core Concepts - DOM Interaction with Vue
- Module Introduction
- Connecting Vue App Instances
- Interpolation và Data Binding
- Binding Attributes với v-bind Directive
- Understanding methods in Vue Apps
- Working with Data inside of a Vue App
- Outputting Raw HTML Content with v-html
- Event Binding v-on
- Events & Methods
- Using the Native Event Object
- Event Modifiers
- Two-Way Binding
- Methods used for Data Binding
- Computed Properties
- Working with Watchers
- Methods vs Computed Properties vs Watchers
- v-bind and v-on Shorthands
- Dynamic Styling with Inline Styles
- CSS Classes Dynamically
- Rendering Conditional Content & Lists
- Conditions & Lists Starting-Setup
- v-if, v-else and v-else-if
- v-show
- Rendering Lists of Data
- Vue Behind The Scenes
- Understand Vue Reactivity
- Understanding Templates
- Working with Refs
- How Vue Updates the DOM
- Vue App Lifecycle
- Components
- Workflow with Vue3 CLI
- Vue Initial Steps & Structure
- Inspecting the Vue Project
- Vue extentions
- Vue Component
- Props
- $emit and Listening to Events
- Method of array object in JavaScript
- Provide + Inject
- Global vs Local Components
- Scoped Styles
- Slots
- Dynamic Components and Keeping Dynamic Components Alive
- Teleporting Elements
- Fragments
- The Vue Style Guide
Với phép Interpolation và V-bind, chúng ta đã học về hai tính năng chính để xuất và sử dụng dữ liệu do Vue quản lý trong mã HTML. Và điều đó thực sự quan trọng. Bây giờ, hãy làm cho ứng dụng của chúng ta ít nhất là năng động hơn một chút.
Bây giờ là lúc để tìm hiểu về một tùy chọn mới. Và đó là tùy chọn methods. Methods cho phép bạn định nghĩa các functions ( hàm ) để thực thi xử lý sự kiện, tính toán dữ liệu, hoặc thực hiện các tác vụ khác mà bạn muốn thực hiện khi tương tác với ứng dụng Vue của bạn, dưới đây là cách bạn có thể sử dụng methods:
const app = Vue.createApp({
data() {
return {
goalContent: 'Finish the course and learn Vue!',
vueLink: "https://vuejs.org/",
}
},
methods: {
},
})
app.mount('#user-goal');
Với methods bạn không cần chuyển vào bất kỳ tham số nào, mà nó chỉ nhận những phương thức do bạn định nghĩa .Ví dụ, outputGoal, những tên hàm này hoàn toàn phụ thuộc vào bạn.
Bạn nên nhớ rằng đối tượng methos được định nghĩa bời Vue, nó không thế thay thế bằng một tên khác, nó cũng giống như đối tượng data của chúng ta vậy, NHƯNG với các hàm trong đối tượng methods bạn có thể đặt tên phụ thuộc vào bạn.
có 2 cách cho chúng ta có thể định nghĩa một function:
Cách 1:
methods: {
outputGoal: function () {
// do something here
}
},
Cách 2:
methods: {
outputGoal () {
// do something here
}
},
Dưới đây là một ví dụ cụ thể:
const app = Vue.createApp({
data() {
return {
goalContent: 'Finish the course and learn Vue!',
vueLink: "https://vuejs.org/",
}
},
methods: {
outputGoal: function () {
const randomNumber = Math.random();
if(randomNumber > 0.5) {
return "Master Vue";
} else {
return "Learn Vue"
}
}
},
})
app.mount('#user-goal');
Trong ví dụ trên, phương thức outputGoal không cần bất kỳ tham số nào. Nó chỉ đơn giản là random ra một số nếu lớn hơn 0.5 thì return "Master Vue" còn ngược lại thì trả về "Learn Vue".
Khi bạn muốn sử dụng một phương thức đã được định nghĩa trong methods, bạn chỉ cần gọi tên của phương thức đó trong phần từ HTML mà được Vue kiểm soát kết hợp với Interpolation. Ví dụ:
<section id="user-goal">
<h2>{{ goalContent }}</h2>
<p>Learn more <a v-bind:href="vueLink">about Vue</a></p>
<p>{{ outputGoal() }}</p>
</section>
Sau đó mỗi khi bạn tải lại trang dữ liệu đã được trả về một cách dynamic như thế này
Từ ví dụ trên chúng ta đã thấy Vue tuyệt vời như thế nào rồi đúng không, đây vẫn chỉ là một ví dụ đơn giản để cho các bạn hiểu về thằng methods này, ở trong series tiếp theo được hiểu hơn về nó nhiều hơn nữa, dưới đây là một ví dụ khi chúng ta xứ lý một hàm thông qua một event, bạn chưa cần hiểu điều này vội vì mình chỉ muốn show cho các bạn thấy rằng sự mạnh mẽ của Vue, hãy cùng mình đi tiếp phần sau nhé!
Dưới đây là cách bạn có thể sử dụng methods:
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
},
methods: {
// Định nghĩa một phương thức có tên là `reverseMessage`
reverseMessage: function () {
// Trong phương thức này, chúng ta đảo ngược chuỗi `message`
this.message = this.message.split('').reverse().join('')
}
}
})
Sau đó, trong template HTML của bạn, bạn có thể gọi phương thức này bằng cách sử dụng cú pháp v-on (hoặc viết tắt là @) để lắng nghe sự kiện và gọi phương thức tương ứng:
<div id="app">
<p>{{ message }}</p>
<!-- Khi click vào button, phương thức `reverseMessage` sẽ được gọi -->
<button v-on:click="reverseMessage">Đảo ngược message</button>
</div>
Trong ví dụ trên, khi bạn click vào nút "Đảo ngược message", phương thức reverseMessage sẽ được gọi và chuỗi message sẽ được đảo ngược.
Điều này cho phép bạn tổ chức code của mình một cách rõ ràng và dễ dàng hiểu bằng cách chia nhỏ các tác vụ thành các phương thức riêng biệt.
Bình luận (0)