加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用AngularJS模板进行A / B测试?

发布时间:2020-12-17 07:43:42 所属栏目:安全 来源:网络整理
导读:我正在使用ng样板,并且必须根据用户配置添加在生产中使用不同模板的可能性. .config(function config( $stateProvider ) { $stateProvider.state( 'demo',{ url: '/demo',views: { "main": { controller: 'DemoCtrl',templateUrl: 'demo/demo.tpl.html' } }
我正在使用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标准 $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;
        });
    }
})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读