使用angularjs更改rails中页面的最佳实践是什么,不会刷新?(我将在切换页面上使用淡入淡出动画)。
除此之外,如果我想在 Angularjs 中保留数据库查询逻辑,那么有没有办法为 Angularjs 读取 Rails url 参数(foo.com/:arg)?
使用angularjs更改rails中页面的最佳实践是什么,不会刷新?(我将在切换页面上使用淡入淡出动画)。
除此之外,如果我想在 Angularjs 中保留数据库查询逻辑,那么有没有办法为 Angularjs 读取 Rails url 参数(foo.com/:arg)?
如果您正在使用想要转换为 Angular 的现有 Rails 应用程序,您可能无法保留 Rails 的大量模板/视图代码。相反,从保持服务器端 API 开始清洁并静态地为您的 Angular 应用程序提供服务。如果您从一个干净的 Rails 应用程序开始,请记住,提供 JSON/XML API 并静态地为 Angular 应用程序提供服务基本上是 Rails 的工作。
要在不重新加载页面的情况下更改 Angular 中的视图,您需要使用 $routeProvider 与 ng-view 协调。使用相应的视图模板注册应用程序中的每个路由:
angular.module('user-manager', [])
.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html'
})
.when('/user/:id', {
templateUrl: 'views/user.html',
controller: 'UserCtrl'
})
.otherwise({
redirectTo: '/'
});
});
然后在主 index.html 中的某处声明 ng-view:
<body ng-app="user-manager">
<!-- Main view -->
<div ng-view></div>
</body>
ng-view 将被您路线中的相关模板替换。有关更多详细信息和更完整示例,请参阅:http ://docs.angularjs.org/api/ngRoute .$route