Có gì mới?

Chào mừng bạn đến với diễn đàn Tui Học Web

Vui lòng đăng ký hoặc đăng nhập để sử dụng hết các tính năng của forum nhé!
  • Thông báo: Hiện tại do admin không có nhiều thời gian và không thể tiếp tục quản trị và maintain forum, do đó forum sẽ có dự định được đóng lại từ 06/2022, cảm ơn mọi người đã đồng hành cùng forum suốt thời gian vừa qua. Cảm ơn rất nhiều.

Kiến thức Ngày 02 - Ví dụ về Vuejs và dữ liệu của nó.

Kiến thức
Tình trạng
Không mở trả lời sau này.

Ngày 02 - Ví dụ về Vuejs và dữ liệu của nó.​


Chào các bạn, lại là mình, Dũng đây :v qua bài viết đầu tiên
Ồ, bạn chưa phải thành viên của forum Đăng nhập hoặc đăng ký ngay.
thì chắc các bạn đã có cái hình dung tổng quan về framework này rồi ha.
Hôm nay mình sẽ đồng hành cùng các bạn đi tìm hiểu một ví dụ của VueJS khi nó được render lên trang web thì nó sử dụng dữ liệu như thế nào, làm sao để ta hiển thị lên dữ liệu của ta mong muốn. Đó chính là mục đích của bài viết hôm nay.

Trước hết chúng ta sẽ ôn lại những thứ ta được học ở ngày thứ nhất:
  • Ta sẽ có một file html nạp thư viện Vuejs đã được build sẵn.
  • Ta sẽ có một file javascript được viết riêng và cũng nạp vào file html này gọi là main.js
  • Trong file main.js ta tạo ra một instance của Vuejs bắt đầu được render (mouting point) từ thẻ div có id là app
  • Ta được kết quả là một file html đã được render.
Nếu bạn nào còn chưa thấm chỗ này thì đọc lại bài
Ồ, bạn chưa phải thành viên của forum Đăng nhập hoặc đăng ký ngay.
nhé :echlike:

Vue Instance​


Ở bài trước, khi ta tạo ra một instance của Vuejs, ta chỉ cung cấp duy nhất hai thuộc tính là el - mouting point data ta chỉ cung cấp một biến duy nhất là greeting để hiển thị dòng chữ Hello World from TuiHocWeb!

JavaScript:
new Vue({
    el: '#app',
    data: {
        greeting: 'Hello World from TuiHocWeb!',
    },
});

Bây giờ ta sẽ đổi biến đổi một chút, ta sẽ thay biến greeting sẽ có dữ liệu là Hello World!, ta sẽ thêm hai biến nữa, là user country, hai biến này chúng ta cũng sẽ in ra trên template với Mustache Syntax.

JavaScript:
new Vue({
    el: '#app',
    data: {
        greeting: 'Hello World!',
        user: 'Le Dung',
        country: 'Viet Nam'
    },
});

Template sẽ như thế này:
HTML:
<html>

<body>
    <h1>30 Days VueJS with TuiHocWeb.Com</h1>
    <div id="app">
        <h2>{{ greeting }}</h2>
        <p>by {{ user }} from {{ country }}</p>
    </div>
    <script src="https://unpkg.com/vue"></script>
    <script src="./main.js"></script>
</body>

</html>

Ta sẽ được kết quả:

1630980816042.png


Các hàm và events​

Bây giờ mình muốn thay đổi giá trị Hello World! bằng một giá trị khác nhưng chỉ cần nhấn một button nào đó thì mình phải làm sao? Chúng ta sẽ tìm hiểu qua hàm và event handle của hàm.

Ở template, ta sẽ thêm một button để thực hiện việc thay đổi dòng chữ này:
HTML:
<html>

<body>
    <h1>30 Days VueJS with TuiHocWeb.Com</h1>
    <div id="app">
        <h2>{{ greeting }}</h2>
        <p>by {{ user }} from {{ country }}</p>
        <button>Change Greeting</button>
    </div>
    <script src="https://unpkg.com/vue"></script>
    <script src="./main.js"></script>
</body>

</html>

Như vậy, ta đã có button, bây giờ ta sẽ khai báo hàm mà button này sẽ nhấn, mình tạm gọi hàm này là changeGreeting()

JavaScript:
new Vue({
    el: '#app',
    data: {
        greeting: 'Hello World!',
        user: 'Le Dung',
        country: 'Viet Nam'
    },
    methods: {
        changeGreeting() {
            this.greeting = this.greeting === 'Hello World!' ?
                'What is up!' :
                'Hello World!';
        }
    }
});

Bằng cách khai báo thêm thuộc tính methods, mình đã khai báo được hàm changeGreeting(). Việc còn lại bây giờ là mình sẽ chỉ định cái hàm này sẽ được thực thi bởi ai qua từ khóa v-on, chúng ta sẽ bind thuộc tính này cho button ta đã có ở template:

HTML:
<html>

<body>
    <h1>30 Days VueJS with TuiHocWeb.Com</h1>
    <div id="app">
        <h2>{{ greeting }}</h2>
        <p>by {{ user }} from {{ country }}</p>
        <button v-on:click="changeGreeting">Change Greeting</button>
    </div>
    <script src="https://unpkg.com/vue"></script>
    <script src="./main.js"></script>
</body>

</html>

Bây giờ ta sẽ xem kết quả:

1630981278675.png
Nhấn nút Change Greeting, dòng chữ Hello World! sẽ đổi thành What is up! và ngược lại.​
Hôm nay đến đây thôi, hẹn các bạn ngày mai nhé!

 
Tình trạng
Không mở trả lời sau này.

Bài viết và chủ đề liên quan

shape1
shape2
shape3
shape4
shape7
shape8
Bên trên