我正在使用ng样板,并且必须根据用户配置添加在生产中使用不同模板的可能性.
.config(function config( $stateProvider ) { $stateProvider.state( 'demo',{ url: '/demo',views: { "main": { controller: 'DemoCtrl',templateUrl: 'demo/demo.tpl.html' } } }); })
我目前的想法是使templateUrl动态
templateUrl: 'demo/demo'+userService.getTemplate()+'.tpl.html'
并具有多个模板文件,如:
> demo.tpl.html(默认)
> demo.b.tpl.html(版本b)
> demo.c.tpl.html(版本c)
而userService功能确实提供了要使用的模板版本. “.B”
你同意吗?这个问题可能有更好/更简单的方法吗?
AngularJS标准
原文链接:https://www.f2er.com/angularjs/142925.html$routeProvider
可以接受templateUrl的功能.但是您不能将服务注入此功能.
ui-router
具有templateProvider参数,您可以在其中注入您想要的内容,您应该为此返回远程模板大小写:
$stateProvider.state('demo',{ templateProvider: function ($http,$templateCache,$stateParams,userService) { var url = 'demo/demo' + userService.getTemplate() + '.tpl.html'; return $http.get(url,{ cache: $templateCache }).then(function (response) { return response.data; }); } })