【问题标题】:Unable to route from Modal window in AngularJS无法从AngularJS中的模态窗口路由
【发布时间】:2015-09-03 09:03:21
【问题描述】:

我在 UI 中有一个按钮。单击它,我将打开一个引导模式窗口。我的模态窗口中有另一个按钮。我想在模态窗口中单击该按钮导航到不同的路线。

$('#cartModal').modal('hide');
$location.path('/AngularJS/phonecat/#phones/address');

但它只会关闭模式弹出窗口,不会路由到给定路径。

打开模态窗口之前的较早路线:/AngularJS/phonecat/#phones 关闭模态窗口后的预期路线:/AngularJS/phonecat/#phones/address

我无法找到它不起作用的原因。请帮忙。

我试图从主应用程序中获取一些代码部分。希望它会有所帮助。 http://jsbin.com/vizequ/2/edit?html,js

【问题讨论】:

  • 通过添加代码 sn-p 它将增加您的更改以获得富有成效的建议和答案

标签: angularjs routes bootstrap-modal


【解决方案1】:

尝试附加代码 sn-p 以更改模型隐藏事件的路由。

$('#myModal').on('hidden.bs.modal', function (e) {
    $location.path('/AngularJS/phonecat/#phones/address');
});

如果这没有帮助,您可以发布更详细的代码或 jsFiddle 吗?

【讨论】:

  • 您在隐藏模式后附加事件。事件应在加载时附加。
  • 我知道。我也试过了。在初始化控制器时,我监听这个事件并设置路由路径。关闭模式窗口时它没有监听事件。单击该模式按钮时,我只是隐藏模式窗口。但还是不行。
【解决方案2】:

这是我的错。我为路由器分配了错误的路径。点击模态窗口的按钮,我写了下面的代码。

$location.path('/phones/address');
$('#cartModal').modal('hide');
$('.modal-backdrop').remove();

它解决了我的问题。希望对其他人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多