Angularjs 应用程序未打开配置的模式
Posted
技术标签:
【中文标题】Angularjs 应用程序未打开配置的模式【英文标题】:Angularjs app does not open the configured modal 【发布时间】:2019-07-28 06:06:44 【问题描述】:我正在使用 angularjs 构建一个应用程序,我需要在其中显示一个页面,然后在用户粘贴 url 时打开一个带有详细信息的模式窗口。
路由器配置如下:
.state('main.legalentitites',
url: '/products/productId:string',
views:
'content@':
templateUrl: 'app/views/productdetail.html',
controller: 'productDetailCtrl',
,
,
)
.state('main.products.add',
url: '/products/productId:string/add',
onEnter: function($state, $modal)
$modal
.open(
templateUrl: 'app/views/productModal.html',
resolve: ,
controller: 'ProductCtrl',
)
.result.then(function(result)
if (result)
return $state.transitionTo('main.products')
)
,
)
.$urlRouterProvider.otherwise(function($injector, $location)
var $state = $injector.get('$state')
$state.go('main.home')
)
当我输入 url https://localhost:44821/products/6cbc799a-fdc8-4e4d-ac27-0a5165423641/add
时,它没有导航到页面并且模式没有打开。控制台中也没有错误。它总是转到其他配置的部分。可能是什么问题?
【问题讨论】:
如果您使用的是 ui-bootstrap 的最新版本之一,则服务名称从“$modal”更改为“$uibModal”。 我还在使用旧版本 当您输入https://localhost:44821/products/6cbc799a-fdc8-4e4d-ac27-0a5165423641
url(没有add
)时,一切都按预期工作吗?
@arcquim 是的,它有效
你能创建一个 Plunker 或 JSFiddle 吗?
【参考方案1】:
Documentation 说:
'/user/:id' - 匹配 '/user/bob' 或 '/user/1234!!!'甚至是“/user/”,但不是“/user”或“/user/bob/details”。第二个路径段将被捕获为参数“id”。
和:
'/user/id' - 与前面的示例相同,但使用大括号语法。
所以我建议您将 url 从“/products/productId:string/add”更改为“/products/add/productId:string”。它应该可以工作。
【讨论】:
以上是关于Angularjs 应用程序未打开配置的模式的主要内容,如果未能解决你的问题,请参考以下文章
带有颤动的 Firebase 动态链接:深层链接 URL 未打开应用程序