NextPage


描述

Nextpage是原有产品(公司原有基于AngularJS构建的产品)中重构而来的,适用于公司业务流程的一个全局插件.

  • 它可以实现在不改变路由的情况下,在模块中添加多级页面,如下图所示,并支持无限嵌套.
  • 它可以在各级Nextpage页面中相互传递数据.
  • 它会在新创建的页面自动创建一个面包屑breadCrumb以及一些实例方法.

[info] Nextpage 是全局的

这意味着在你所开发的组件中不需要引入任何东西,Nextpage会在每个创建的Vue实例中绑定一个 vm.$nextPage(options)方法

演示

// FooComponent
<script>
// 导入一个组件
import BarComponent from './BarComponent'
export default {
    name:'FooComponent',
    data () {
    },
    methods: {
        createNp () {
            this.$nextPage({
                title: 'Create New Component',
                props: {
                    name: 'HelloWorld!'
                },
                show() {
                },
                beforeClose(nextpageInstance) {
                },
                component: BarComponent,
                cache: true
            })
        }
    }
}
</script>

// BarComponent
<script>
export default {
    name: 'BarComponent',
    props: ['name'],
    methods: {
        close () {
            // 关闭当前页面
            this.closeNextPage(this)
        }
    }
}
</script>

[warning] 注意关闭方法中的this

通过NextPage打开的业务组件内调用closeNextPage()方法时,必须传递当前实例的引用this,如上面的例子所示

NextPage 属性

参数 说明 类型 可选值 默认
title 打开页面的标题,会出现在面包屑中 String - -
props 需要向新建页面的组件中传递的数据,和Vue一样,可以传递任何值 Any - -
component 需要打开的业务组件,参考上面的例子,我们要打开的是BarComponent组件页面 VueComponent - -
cache 是否缓存当前组件,缓存方式使用的是Vue的Keep-alive实现,因此可以缓存所有页面状态,传递参数时不能设置为false Boolean - -

NextPage 方法

方法名 说明 参数
closeNextPage 在打开的组件页面中使用该方法可以关闭当前组件页面 this (必须传入当前组件实例的引用)

NextPage 钩子函数

函数名称 说明 参数
show 在打开Nexpage后调用 -
beforeClose 在Nexpage关闭前调用 nextPage实例

results matching ""

    No results matching ""