我曾尝试使用scala play框架和angular来编写简单的crud应用程序。我看到有两种选择:
1)我可以使用play框架路径(在文件conf /路由中)
2)我可以使用角度路线。
我该怎么办?
我认为我应该使用angular,当页面没有使用scala和数据库时,scala路由会使用。
但这会分裂和混合网址,我不认为这是最好的主意。
有没有更好的解决方案呢?
答案 0 :(得分:1)
将Play框架与AngularJS路径扩展一起使用时,实际上几乎没有可能的选项。 您必须了解Play路线和Angular路线不可互换。他们每个人在整合方面都扮演着不同的角色。
视图之间的客户端导航是通过Angular路由完成的。它负责提供ng-view指令。该指令应放在shell页面中 在这种情况下由Play提供服务。它可以在Plays'中创建为静态HTML文件。公共资产目录或从Scala模板动态生成并通过公开方式公开 控制器。
使用ng-view指令显示的部分视图也是如此。它们可以是Plays'中的静态HTML文件。公共资产目录 或动态生成并最初填充数据。它们之间的桥梁是Angular路线定义。例如:
angular.module('AppModule', ['ngRoute'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/feature', {templateUrl: '/playRoute/feature', controller: 'FeatureController'});
}]);
路径 / feature 对应#之后的客户端网址部分,而 / playRoute / feature 是公开的服务器端网址通过Play来提供视图片段。
此外,您可能希望使用Play路由来定义REST端点,以便Angular应用程序可以使用它们通过$ http服务来操作数据。