javascript – 在角度ui-router状态下给角度材料$mdDialog一个url

我想在特定网址上显示Angular Material Dialog,同时将之前访问的路由保持为背景状态.

因此,工作流程将是:

>用户访问带有url business / 6 / contacts的页面. (state:business.contacts)
>用户访问网址业务/ 6 /结帐. (state:business.checkout)

它应该将联系人页面保留在后台并使用给定的URL加载结帐模式.

但是,对于用户访问url business / 6 / settings的另一个工作流程,它应该将设置页面保留为背景,并在用户访问business / 6 / checkout时加载结帐模式.

在任何地方点击外部都应该关闭模态并加载回上一页.

《javascript – 在角度ui-router状态下给角度材料$mdDialog一个url》

《javascript – 在角度ui-router状态下给角度材料$mdDialog一个url》

《javascript – 在角度ui-router状态下给角度材料$mdDialog一个url》

最佳答案 您应该将这些模态状态设置为联系人和设置页面的子状态.在此场景中,您的网址将分别为business / 6 / contacts / checkout和business / 6 / settings / checkout.你必须在你的网址中有一些标识符来分隔这两种情况.否则,当您直接从网址进入页面时,如果您使用相同的网址,则无法区分这两种情况.

这是一个例子:

var checkoutStateObject = {
        url: '/checkout'..,
        controller:"CheckoutModalCtrl" // same controller for below state
      };

yourApp.state("business", {
        url: "/business/:businessId"...}) //parent state
.state('business.contacts', {
        url: '/contacts'..
      })
.state('business.settings', {
        url: '/settings'..
      })
.state('business.contacts.checkout', checkoutStateObject)
.state('business.settings.checkout', checkoutStateObject)
点赞