Khác
Những thay đổi nhỏ khác bao gồm:
-
Trình xử lý lỗi giờ đây đáng tin cậy hơn và cung cấp dấu vết ngăn xếp có chứa
cây thành phần.
- Xác nhận thuộc tính hiện hỗ trợ loại: Biểu tượng .
- Bây giờ bạn có thể sử dụng các thành phần Vue.extend () 'ed làm mixin .
- Các thành phần chức năng bây giờ có thể sử dụng tiêm như các thành phần
bình thường. (Được truy cập bởi context.injutions )
- Nếu không có tùy chọn đạo cụ nào được cung cấp cho các thành phần chức
năng, các thuộc tính sẽ được tự động trích xuất vào context.props .
- Trình nghe v-on cho các thành phần chức năng sẽ được đặt biệt danh
là context.listists cùng với context.data.on cũ .
- Async Component Factories hiện có thể trả về một đối tượng chứa thông tin về
việc tải và hiển thị các thành phần lỗi nào và khi nào.
Khắc phục sự cố / Di chuyển
- Thuộc tính server-render = ”true” cho biết ứng dụng SSR được hiển thị giờ đây
được gọi là data-server-render để làm cho nó trở thành HTML hợp lệ. Điều này
sẽ không ảnh hưởng đến bạn trừ khi bạn đang dựa vào tài sản đó để làm gì đó.
- vue-ssr-webpack-plugin hiện không được dùng nữa, nó đã được thay thế
bằng vue-server-render / server-plugin và vue-server-render / client-plugin .
- Nếu các thành phần không đồng bộ của bạn ngừng hoạt động, hãy đảm bảo
rằng bạn đã nâng cấp bộ định tuyến vue lên phiên bản 2.4.0 trở lên.
I.5.4 Các tính năng của Vue 2.4
Không có quá nhiều điều mới trong Vue 2.4 , nhưng những gì đã được thêm vào có
thể sẽ cực kỳ hữu ích đối với một số người nhất định.
Hỗ trợ thành phần SSR + Async
-
Các thành phần không đồng bộ giờ đây “chỉ hoạt động” khi hiển thị qua SSR ,
ở bất kỳ đâu trong ứng dụng. Trước đây nó chỉ hoạt động trong vuerouter . Điều này yêu cầu một số thay đổi trong lõi để sửa đổi cách các mô-đun
được giải quyết, vì vậy hãy đảm bảo rằng bạn cũng nâng cấp vue-
12
loader . Handoff và hydrat hóa giữa máy chủ và máy khách với các thành phần
không đồng bộ cũng hoạt động tốt hiện nay.
Tối ưu hóa SSR
-
vue-template-compiler hiện tối ưu hóa các gói phía máy chủ theo mặc định với
các chức năng kết xuất đặc biệt giúp giảm các mẫu trở nên đơn giản nhất có thể
thông qua nối chuỗi. Điều này có thể cung cấp các cải tiến hiệu suất lên đến 8
lần . Điều này có thể bị vô hiệu hóa với optimizeSSR tùy chọn trong vueloader .
…
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
optimizeSSR: false
}
}
],
...
Cải tiến thành phần Wrapper
-
Khi viết một thành phần trình bao bọc, đôi khi bạn muốn chuyển tất cả các đạo
cụ trên trình bao bọc vào con và nhận tất cả các sự kiện từ con.
Để khắc phục một phần của vấn đề này, Vue đã thêm các thuộc tính thể hiện
phản ứng $ attrs và $ listening . Điều này cho phép một thành phần trình bao
bọc được tạo ra mà chỉ cần chuyển tất cả các thuộc tính và trình lắng nghe
xuống cho phần tử con.
Ví dụ:
13
-
Để hỗ trợ điều này, v-on hiện có thể lấy một đối tượng có tên sự kiện -> ánh xạ
trình xử lý. Tuy nhiên, cú pháp này không hỗ trợ các bổ ngữ.
Ngoài ra, một tùy chọn thành phần mới, inheritAttrs đã được thêm vào. Bằng
cách đặt nó thành false, bạn có thể ngăn mọi ràng buộc không xác định được kế
thừa tự động.
Khác
-
Thành phần giữ nguyên hiện hỗ trợ lấy một mảng tên thành phần cho các đạo
cụ bao gồm và loại trừ .
- v-bind = ”{object}” hiện hỗ trợ công cụ sửa đổi .sync . Người dùng Vue ở khắp
mọi nơi vui mừng.
- Một tùy chọn thành phần nhận xét đã được thêm vào, cho phép các thành phần
bảo toàn nhận xét khi biên dịch để hiển thị các chức năng. Điều này có thể hữu
ích cho bạn nếu một số thư viện mà bạn đang làm việc dựa vào các nhận xét vì
lý do này hay lý do khác.
- vm. $ watch / Vue. $ watch hiện có thể sử dụng cùng một định dạng với tùy
chọn component watch: {} .
- Xử lý lỗi hiện có thể nắm bắt các lỗi được đưa ra trong trình xử lý sự kiện tùy
chỉnh.
- Vue.config.warnHandler cho phép bạn thêm một lệnh gọi lại tùy chỉnh cho các
cảnh báo trong chế độ phát triển.
- Hơn 25 lỗi đã được sửa.
Khắc phục sự cố / Di chuyển
14
-
Nếu các thành phần không đồng bộ của bạn đột nhiên ngừng hoạt động bình
thường, đặc biệt là với kết xuất phía máy chủ, hãy đảm bảo rằng bạn đã nâng
cấp vue-loader lên phiên bản 13.0.2 trở lên.
I.5.5 Các tính năng của Vue 2.5
Hỗ trợ TypeScript được cải thiện
-
-
-
Vue luôn có một chút khó khăn để làm việc khi sử dụng TypeScript. Do cấu
hình dựa trên đối tượng, nó có xu hướng khó xác định kiểu chữ thích hợp và
các thành phần tệp đơn không giống như các tệp JS thông thường.
Tuy nhiên, với bản phát hành này, một số người từ nhóm TypeScript đã thực
hiện một số thay đổi lớn đối với Vue để thêm tất cả các loại tính năng thú vị
khi làm việc với TypeScript.
Do đó, giờ đây, Vue 2.5bạn có thể nhận được các đề xuất tự động hoàn thành
nội dung và các gợi ý nhập ngay cả khi bạn không sử dụng TypeScript. Điều
này hoạt động với bất kỳ trình soạn thảo nào hỗ trợ giao thức ngôn ngữ-máy
chủ thông qua vue-language-server . Hiện tại, đó chủ yếu là Visual Studio
Code + Vetur .
Nâng cấp
-
-
Đối với người dùng TypeScript hiện tại, bạn sẽ cần phải nâng cấp lên ít nhất
TypeScript 2.4nếu bạn muốn sử dụng TypeScript với Vue 2.5.
Nếu bạn đang sử dụng nhập kiểu CommonJS ( require(...)), bạn sẽ cần chuyển
sang nhập kiểu ES ( import x from x). Bạn cũng có thể
xóa "allowSyntheticDefaultImports": true,khỏi của bạn tsconfig.json.
Bạn sẽ cần phải nâng cấp tất cả các thư viện Vue, bao gồm: vuex, vuerouter, vuex-router-sync, và vue-class-component.
Nếu bạn đang mở rộng Vue bằng cách sử dụng namespace Vue, bạn sẽ cần
chuyển nó sang sử dụng interface VueConstructornhư đã thấy .
Bạn có thể phải điều chỉnh tờ khai loại hình cho computed, watch, rendermóc,
và vòng đời mà tham khảo thành phần Vue trong một số trường hợp.
Các thành phần một tệp chức năng
-
-
Các mẫu hiện hỗ trợ functionalthuộc tính, có nghĩa là bây giờ có thể viết các
thành phần chức năng mà không cần sử dụng các hàm kết xuất hoặc JSX trực
tiếp.
Các thành phần chức năng không có thể hiện và do đó không có ngữ cảnh ràng
buộc. Do đó, bạn phải tham chiếu đến propsthành phần với props.myPropthay
vì myProp.
Ví dụ:
15