小编Dar*_*ryl的帖子

AngularJS Group by Directive without External Dependencies

我是Angular的新手,想学习处理问题的最佳方法.我的目标是有一个可重用的方法来创建按标题分组.我创建了一个可行的解决方案,但我认为这应该是一个指令,而不是我的控制器中的范围函数,但我不知道如何实现这一点,或者指令是否是正确的方法.任何投入将不胜感激.

看看我目前处理jsFiddle的方法

在HTML中,它是一个使用ng-repeat的简单列表,我在ng-show上调用newGrouping()函数.该函数传递对完整列表的引用,我想要分组的字段和当前索引.

<div ng-app>
<div ng-controller='TestGroupingCtlr'>
    <div ng-repeat='item in MyList'>
        <div ng-show="newGrouping($parent.MyList, 'GroupByFieldName', $index);">
            <h2>{{item.GroupByFieldName}}</h2>
        </div>
        {{item.whatever}}
    </div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有newGrouping()函数,它只是将当前值与之前的值进行比较,第一项除外,并根据匹配返回true或false.

function TestGroupingCtlr($scope) {

  $scope.MyList = [
    {GroupByFieldName:'Group 1', whatever:'abc'},
    {GroupByFieldName:'Group 1', whatever:'def'},
    {GroupByFieldName:'Group 2', whatever:'ghi'},
    {GroupByFieldName:'Group 2', whatever:'jkl'},
    {GroupByFieldName:'Group 2', whatever:'mno'}
  ];

  $scope.newGrouping = function(group_list, group_by, index) {
  if (index > 0) {
    prev = index - 1;
    if (group_list[prev][group_by] !== group_list[index][group_by]) {
      return true;
    } else {
      return false;
    }
  } else {
    return true;
  } …
Run Code Online (Sandbox Code Playgroud)

group-by angularjs angularjs-directive angularjs-ng-repeat ng-show

27
推荐指数
2
解决办法
5万
查看次数

将虚拟主机转换为Docker容器

我目前使用Plesk运行Red Hat Linux服务器来托管大约一百个域.出于多种原因,我想从Plesk转移到Docker容器,每个虚拟主机作为一个或多个容器.到目前为止,我还不清楚我到底读到了什么是最好的方法.

典型站点包括doc根文件区域和一个或两个MySQL数据库.我们在所有网站上运行PHP.某些站点可能会对可以运行的PHP版本有所限制.有些网站使用SSL.我不相信MySQL版本有任何限制,但是未来的MySQL版本当然可能会弃用某些需要的功能.我不相信它对Apache版本有任何依赖性,但我确实依赖于正在安装的某些特定Apache模块.可能有一个或两个站点在其doc root之外具有依赖关系,而不是基本虚拟主机设置的一部分,但我不相信任何需要特定版本的Linux.

我希望容器具有最大的可移植性,以便我可以灵活地将站点移动到我选择的任何服务器或云服务.我的部分目标是淘汰当前服务器并将站点移动到最适合它们的服务器.

我还想在创建容器后尝试升级PHP版本.

那么单个容器是否包含整个doc根文件系统,包括用户可以上传/ ftp文件的数据目录?它会包含MySQL数据库,还是会分开?我假设我会包含当前版本的PHP,以便在我准备好时可以升级每个版本.当需要特定的Apache模块时,它会包含Apache吗?是否有理由在所有容器中包含Apache和/或MySQL?

最后一块.我正在研究使用CoreOS,它利用Docker作为不可或缺的部分.

任何和所有输入都表示赞赏.

linux plesk docker coreos

13
推荐指数
1
解决办法
3830
查看次数

在Angular 2.0中注入服务提供者

在AngularJS 2.0 Heroes教程解释中,它指出如果子组件在其@Component Providers列表中包含服务,则Angular将创建特定于该子组件的该服务的单独实例.我不明白的是,如果有时您想要独立使用子组件,而有时在父组件中使用子组件,您会怎么做.这似乎是一个严重的限制.我刚刚玩Angular 2.0,所以很可能我误解了一些东西.

以下是来自Heroes Tutorial服务部分的Angular.io网站的解释.

附录:隐藏父母的服务

我们之前说过,如果我们将父AppComponent HeroService注入HeroDetailComponent,我们不能将提供者数组添加到HeroDetailComponent元数据中.

为什么?因为这告诉Angular在HeroDetailComponent级别创建HeroService的新实例.HeroDetailComponent不需要自己的服务实例; 它想要它的父服务实例.添加providers数组会创建一个影响父实例的新服务实例.

仔细考虑注册提供商的地点和时间.了解该注册的范围.注意不要在错误的级别创建新的服务实例.

这是指向将其置于上下文中的页面的链接.

angular2-services angular

5
推荐指数
1
解决办法
2044
查看次数