小编Awe*_*SIM的帖子

Sequelize ::限制和命令INSIDE和Include []结构

我有以下模型层次结构:

User.hasMany(Child);
Child.hasMany(Profile);
Run Code Online (Sandbox Code Playgroud)

一旦我User加载了一个对象,我需要根据以下逻辑加载它Children和它们的关联Profiles:

  1. 加载所有ChildrenUser,排序name.
  2. 对于每个Child,加载前三个Profiles反向排序依据id.

有没有办法限制和排序渴望加载Profiles?我可以限制和排序Children但不是Profiles.

user.getChildren({
  limit: 10,
  order: [['name', 'ASC']],
  include: [{
    model: Profile,
    limit: 3,                <-- HAS NO EFFECT!!!
    order: [['id', 'DESC']]  <-- HAS NO EFFECT!!!
  }]
});
Run Code Online (Sandbox Code Playgroud)

我能使它工作的唯一方法是执行以下操作:

user.getChildren({
  limit: 10,
  order: [['name', 'ASC']]
}).then(function(children) {
  user.children = children;
  _.each(children, function(child) {
    child.getProfiles({
      limit: 3,
      order: [['id', 'DESC']]
    });
  });
}); …
Run Code Online (Sandbox Code Playgroud)

node.js sequelize.js

8
推荐指数
1
解决办法
1116
查看次数

Angular2组件 - 动态内联样式

我有一个具有a countcolor属性的组件.该组件应该显示带有内联样式count<div>s 数,用于将其颜色更改为color.

这是我到目前为止所拥有的:

@Component({
    selector: 'my-control',
    template: `<div *ngFor="let i of dummyArray" style="color: {{color}}"> COLOR = {{color}}</div>`
})
export class MyControl {
    private _count: number;
    @Input() set count(value: string) {
        this._count = +value;
    }
    @Input() set color(value: string) {
        this._color = value;
    }
    get dummyArray(): number[] {
        let ret: number = [];
        for (let i = 0; i < this._count; ++i) ret.push(i);
        return ret;
    }
    get color(): string {
        return …
Run Code Online (Sandbox Code Playgroud)

javascript css components angular

8
推荐指数
1
解决办法
1万
查看次数

Angular2可观察名单

我在Ionic应用程序中遇到了一些问题(数据异步更新,但UI没有相应更新).我已经在这个问题上摸不着头了,现在我正在尝试测试一种不同的方法:使用Observables.但我不确定如何实现它.Observables网上的教程专注于使用Http已经返回的服务Observable.我的方案如下:

我有一个DataService包含Person对象列表.该服务有一个返回此列表的getter.

export class DataService {
  private _list: Person[] = [];
  get list(): Person[] { return this._list }
}
Run Code Online (Sandbox Code Playgroud)

早些时候,我在我的组件中直接使用此列表:

<ion-list>
  <ion-item *ngFor="let person of dataService.list">
    {{person.name}}
  </ion-item>
</ion-list>
Run Code Online (Sandbox Code Playgroud)

现在,我想添加另一个消气剂DataService,将返回Observable的的Person[]列表来代替.我不知道的是:

  1. 如何以及在何处定义Observable列表.我是Observable将一个DataService属性定义为属性并在构造函数中初始化它还是Observable直接从服务获取器返回一个新属性?我如何将列表包装成Observable
  2. 如何Observable在我的组件中使用此getter?*ngFor = "???"
  3. 当列表异步更改时,如何发信号通知Observable列表已被修改?

我希望这能解决我的UI更新问题.

observable angular

7
推荐指数
1
解决办法
1万
查看次数

nodejs + sequelize :: 在需要的地方包含 false

我有以下对象层次结构:

  1. 用户
  2. 父母(有一个)
  3. 孩子(有很多)

一旦我有了一个用户对象,我就会尝试加载关联的父对象及其一些子对象。以下作品:

user.getParent({
  include: [{
    model: Child
  }]
}).then(function(parent) {
  var children = parent.children;
});
Run Code Online (Sandbox Code Playgroud)

但是如果我想有选择地加载一些父母的孩子,像这样:

user.getParent({
  include: [{
    model: Child,
    where: { gender: 'FEMALE' }
  }]
}).then(function(parent) {
  var daughters = parent.daughters;
});
Run Code Online (Sandbox Code Playgroud)

如果父级有一个或多个女儿,则查询有效,我将获取父级数据以及所有女儿的数据。但是,如果父级只有儿子,则返回的父级对象是null..

我希望如果父级没有女儿,父级对象仍应使用children = null或解决children = []..

另外,如果我想在加载父项时简单地加载子项数,我该怎么做?

谢谢

node.js sequelize.js

4
推荐指数
1
解决办法
6273
查看次数

Angular2 Components :: ViewChild/ContentChild

我正在尝试设计一个可扩展的组件,如下所示:

<collapsable [expanded]="myFlag">
  <div title>Summary</div>
  <div alternate-title>Heading</div>
  <div content>Details</div>
</collapsable>
Run Code Online (Sandbox Code Playgroud)

alternate-title部分应该是可选的.何时myFlag = false,组件应仅渲染:

<div title>Summary</div>
Run Code Online (Sandbox Code Playgroud)

但是,当myFlag = true组件应该呈现以下之一时:

// If alternate-title exists..
<div alternate-title>Heading</div>
<div content>Details</div>

// If alternate-title does not exist..
<div title>Summary</div>
<div content>Details</div>
Run Code Online (Sandbox Code Playgroud)

现在,我有这个组件的模板定义如下:

<ng-content *ngIf="!expanded" select="[title]"></ng-content>
<ng-content *ngIf="expanded"  select="[alternate-title]"></ng-content>
<ng-content *ngIf="expanded"  select="[content]"></ng-content>
Run Code Online (Sandbox Code Playgroud)

这适用于第一种情况(如果alternate-title存在).但是,在第二种情况下,它显然不起作用(显然).为了让它适用于第二种情况,我需要alternate-title在我的组件中获得引用.一种方法是在下面:

// In page.html..
<div #alternateTitle alternate-title>...</div>

// In component.ts
@ContentChild('alternateTitle') alternateTitle: ElementRef;
Run Code Online (Sandbox Code Playgroud)

但是,我不喜欢这种方法,因为它迫使我定义一个alternate-title多余的局部变量.

有没有办法可以alternate-title在我的组件中获取引用来检查我的组件的用户是否定义了它?

angular

3
推荐指数
1
解决办法
8176
查看次数

Angular2动画:: Easings无法按预期工作

我正在开发一个可折叠组件,您可以单击该组件来向上/向下滚动以显示/隐藏详细信息.该组件如下:

// component.ts

import {Component, Directive, Input} from '@angular/core';
import {trigger, state, style, transition, animate} from '@angular/core'

@Component({
    selector: 'expandable',
    template: '<div *ngIf="isExpanded" @animate="'slide'"><ng-content></ng-content></div>',
    animations: [
        trigger('animate', [
            state('slide', style({ overflow: 'hidden', height: '*' })),
            transition('slide => void', [animate('200ms ease-out', style({ height: 0 }))]),
            transition('void => slide', [style({ height: 0 }), animate('200ms ease-out',  style({ height: '*' }))])
        ])
    ]
})
export class SimExpandable {

    private _expanded: boolean = false;

    @Input('expanded') set expanded(value: string | boolean) {
        this._expanded = (value === …
Run Code Online (Sandbox Code Playgroud)

animation angular

3
推荐指数
1
解决办法
5399
查看次数

如何捕获和传播通配符类型参数?

除了某些参数类型之外,我有几个具有相同方法的类:

interface ICls<T> {
    void doSomething(String key, T value);
    Map<String, T> getSomething();
}

class ClsA implements ICls<Boolean> {
    @Override public void doSomething(String key, Boolean value) { }
    @Override public Map<String, Boolean> getSomething() { return Map.of(); }
}

class ClsB implements ICls<String> {
    @Override public void doSomething(String key, String value) {}
    @Override public Map<String, String> getSomething() { return Map.of(); }
}
Run Code Online (Sandbox Code Playgroud)

现在我试图有一个主类来存储这些类对象的混合列表,并且对于这些实例中的每一个,在它的两个方法之间传递信息:

class Main {
    List<ICls<?>> list = List.of(
        new ClsA(),
        new ClsB()
    );
    void run() {
        list.forEach(cls -> {
            Map<String, …
Run Code Online (Sandbox Code Playgroud)

java generics

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