# `deactivate(transition) [-> Promise]`
在激活階段,當一個組件將要被禁用和移除之時被調用。
### 參數
- [`transition {Transition}`](hooks.md#transition-object)
調用 `transition.next()` 可以斷定( resolve )這個鉤子函數。注意,這里調用 `transition.abort()` 并不會把應用回退到前一個路由狀態因為此時切換已經被確認合法了。
### 預期返回值
- 可選擇性返回 Promise
- `resolve` -> `transition.next()`
- `reject(reason)` -> `transition.abort(reason)`
### 詳情
此鉤子函數的調用順序從下至上。父級組件的 `deactivate` 會在子級組件的 `deactivate` 被斷定( resolved )之后被調用。
新組件的 `activate` 鉤子函數會在所有組件的 `deactivate` 鉤子函數被斷定( resolved )之后被調用。
- vue
- 官方教程
- 起步
- 安裝
- 概述
- Vue 實例
- Class 與 Style 綁定
- 數據綁定語法
- 條件渲染
- 列表渲染
- 表單控件綁定
- 組件
- 計算屬性
- 自定義指令
- 自定義過濾器
- 方法與事件處理器
- 混合
- 插件
- 過渡
- 深入響應式原理
- 對比其它框架
- 構建大型應用
- API
- vue-router
- 安裝
- 基本用法
- 嵌套路由
- 路由對象和路由匹配
- 具名路徑
- 路由配置項
- router-view
- v-link
- 切換控制流水線
- 切換鉤子函數
- data
- activate
- deactivate
- canActivate
- canDeactivate
- canReuse
- API
- 路由實例屬性
- router.start
- router.stop
- router.map
- router.on
- router.go
- router.replace
- router.redirect
- router.alias
- router.beforeEach
- router.afterEach
- 文章
- VUE.JS: A (RE)INTRODUCTION
- 源碼
- 表單控件綁定