我试图在我的rails应用程序中使用Angular和ui路由器,我想我几乎就在那里。这一切都有效,角度在正确的位置显示我的部分,但我似乎无法远离角度页面。当我单击链接时,链接地址在导航栏中显示正确,但浏览器没有导航到新页面,我在rails控制台中看不到任何活动。但是,如果我在浏览器地址栏上单击“重新加载”,则会加载正确的页面。我禁用了turbolink。
我的HTML
%h1 Angular Page
%a{"href" => "/"} non angular home page
%br
.angular-view(ui-view)
%script#template{"type"=>"text/ng-template"}=render 'template'
我的角色路由
@myApp.config ($httpProvider, $stateProvider, $urlRouterProvider,$locationProvider) ->
$locationProvider.html5Mode(true)
$stateProvider
.state('state1', {
url: "/clubs/:Club_id/training",
templateUrl: "template"
})
我想用ui路由器处理所有不同的路由'在角度页面内,但我想暂时将其余的路由留给rails。这可能吗?
我找到了解决方案,感谢Sergeys'评论如下。答案是角度拦截点击以操纵URL。我插了
myApp.run(($location, $rootElement) ->
$rootElement.off('click')
)
正如answer中所建议的那样为我修复了它。