如果我有一个这样的典型路径:Angular JS - 如何将参数添加到模板URL /动态模板?
angular.module('app', ['ngResource']).
config(function($routeProvider, $locationProvider) {
.when('/item/:itemId', {
template: '<div ng-bind-html-unsafe="html"></div>',
controller: blobs.controller.RouteController,
})
});
我如何能实现从服务器请求一个“动态视图”?即。服务器的路由应该导致一个动态的php页面,填充和保存一些数据,并根据路由中给定的itemId返回它想要的任何html。 我试图建立一些复杂的路线监控和Ajax请求的模板容器,然后注入响应HTML,在RouteController的负荷,即:
Service.request('item/'+$routeParams.itemId, {}, function(r) {
$scope.html = r;
$compile($scope.html)($scope); //generates infinite loop for some reason?
$scope.$apply();
});
不过这倒不工作。 PHP的响应html get被加载到容器模板中很好,但数据绑定似乎不起作用(即它包含{{*}}到处)。
有没有更好的方法来做到这一点? 我真的只是试图把这样的路线:
/项目/ MY-项目 成“templateUrl”是一样的,即: /项目/我的产品部件或/视图/项目/ My-Item ..etc
谢谢你的帮助!
Ryan
我想到的妥协方案是让容器模板ng-包含真正的php内容,使用控制器范围中的参数itemId集。 –
您是否尝试过指定一个php文件而不是硬编码路由器内部的模板?像这样:template:'dynamicsContent/whatever.php' –
是的,但是这仍然不能解决向模板获取动态参数的问题,无论它是什么。 –