具有AngularJS& Sons的多页SPA使用ui-router的Rails

时间:2015-03-08 02:39:10

标签: ruby-on-rails angularjs angular-ui-router single-page-application

我有一个Rails应用程序,我试图用AngularJS替换一些视图,但不是全部。在我替换的每个视图中,我希望它基本上就像是它自己的SPA一样。我也在尝试使用ui-router来管理每个SPA中的状态。

例如,我有一个映射到视图" ... / checkout / 1的Rails路由。这会触发一个Rails视图,我在其中加载流的初始SPA,然后让角接管。我想设置ui-router状态,这些状态仅适用于此结帐流程。

我遇到的问题是如何使用该基本网址获得仅针对该流的状态。如果我设置状态:

$stateProvider
    .state('start', {
        url: "/",
        templateUrl: "..."
    })
    .state('route2', {
        url: "/route2",
        templateUrl: "..."
    })
    .state('route3', {
        url: "/route3",
        templateUrl: "..."
    });

这适用于... / checkout / 1#/,... / checkout / 1#/ route2,... / checkout / 1#/ route3。

但是,它也适用于我不想要的其他SPA视图。所以,如果我做另一个使用另一个SPA的rails视图,例如... / item / 1然后上面的路线也适用于... / item / 1#/和... / item / 1#/ route2等。

相反,我希望每个人都能成为自己的SPA,而不是相互冲突。我不知道该怎么做。可以使用基本URL以某种方式命名ui-router或者我可以拥有具有不同stateProviders的独立SPA吗?关于我应该怎么做的任何想法?

由于

1 个答案:

答案 0 :(得分:0)

每个SPA都应该有自己的角度模块,用于定义具有自己的状态定义的应用程序。所以不可能有任何冲突。