các câu hỏi nên đủ rõ ràng :). Nhưng tôi có thể thấy ai đó sử dụng:
<button @click="function()">press</button>
Ai đó sử dụng:
<button v-on:click="function()">press</button>
Nhưng thực sự sự khác biệt giữa hai (nếu tồn tại)
các câu hỏi nên đủ rõ ràng :). Nhưng tôi có thể thấy ai đó sử dụng:
<button @click="function()">press</button>
Ai đó sử dụng:
<button v-on:click="function()">press</button>
Nhưng thực sự sự khác biệt giữa hai (nếu tồn tại)
Câu trả lời:
Không có sự khác biệt giữa hai, một chỉ là một tốc ký cho thứ hai.
Tiền tố v đóng vai trò là một dấu hiệu trực quan để xác định các thuộc tính dành riêng cho Vue trong các mẫu của bạn. Điều này hữu ích khi bạn đang sử dụng Vue.js để áp dụng hành vi động cho một số đánh dấu hiện có, nhưng có thể cảm thấy dài dòng cho một số lệnh được sử dụng thường xuyên. Đồng thời, nhu cầu về tiền tố v- trở nên ít quan trọng hơn khi bạn xây dựng một SPA nơi Vue.js quản lý mọi mẫu.
<!-- full syntax -->
<a v-on:click="doSomething"></a>
<!-- shorthand -->
<a @click="doSomething"></a>
Nguồn: tài liệu chính thức .
strongly-recommended
và recommended
các cài đặt trước eslint-plugin-vue. github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/ory
v-bind
và v-on
là hai chỉ thị được sử dụng thường xuyên trong mẫu html vuejs. Vì vậy, họ đã cung cấp một ký hiệu viết tắt cho cả hai như sau:
Bạn có thể thay thế v-on:
bằng@
v-on:click='someFunction'
như:
@click='someFunction'
Một vi dụ khac:
v-on:keyup='someKeyUpFunction'
như:
@keyup='someKeyUpFunction'
Tương tự, v-bind
với:
v-bind:href='var1'
Có thể được viết như:
:href='var1'
Hy vọng nó giúp!
Chúng có thể trông hơi khác so với HTML thông thường, nhưng: và @ là ký tự hợp lệ cho tên thuộc tính và tất cả các trình duyệt được hỗ trợ Vue.js có thể phân tích chính xác. Ngoài ra, chúng không xuất hiện trong đánh dấu kết xuất cuối cùng. Cú pháp tốc ký là hoàn toàn tùy chọn, nhưng bạn có thể sẽ đánh giá cao nó khi bạn tìm hiểu thêm về cách sử dụng sau này.
Nguồn: tài liệu chính thức .