使用Angular JS routeprovider加载无限模板

时间:2013-03-08 23:52:04

标签: ruby angularjs sinatra erb routes

修复检查xhr请求修复了无限循环

get '/about' do
    erb :about, layout: !request.xhr?
end

我使用角度js和sinatra来创建页面。 Angular正在处理我的路线并调用模板

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.
        when('/home', {templateUrl: '/home'}).
        when('/about', {templateUrl: '/about'}).
        when('/work', {templateUrl: '/work'}).
        when('/blog', {templateUrl: '/blog'}).
        when('/contact', {templateUrl: '/contact'}).
        otherwise({redirectTo: '/'});
}]);

当我转到 /#/ blog 时,模板加载正常。内容由sinatra提供

get '/blog' do
    'This is the work page!'
end

但是,在执行about页面时,我获得了无限的视图加载。

提供了about页面
get '/about' do
    erb :about
end

1 个答案:

答案 0 :(得分:0)

get '/about' do
    erb :about, layout: !request.xhr?
end

前面的代码加载包含角度js代码的布局。 js代码再次调用/ about并重复。由于来自角度js路线的调用是xhr,检查它修复了问题。