小编Tyl*_*den的帖子

使用与ngFor的异步管道

最终目标是使用动态创建的嵌套ngFor.我尝试创建一系列下拉菜单,每个菜单都取决于前一个菜单.下拉菜单的确切数量是未知的并且是动态创建的.例:

<form [ngFormModel]="dropDownForm" (ngSubmit)="onSubmit()">
    <div *ngFor="#nr of numberOfDropdowns">
      <label>{{nr.name}}</label>
      <select [ngFormControl]="dropDownForm.controls[i]">
          <option  *ngFor="#item of Dropdown[nr.id] | async" value="{{item.value}}">{{item.name}}</option>
      </select>
    </div>
  <button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

在Dropdown [nr.id]中,整个事情都失败了,这似乎不适用于异步管道.我玩了一下:

{{myAsyncObject | async}} //works
{{myAsyncObject['prop1'] | async}} //fails silently
{{myAsyncObject['prop1']['prop2'] | async}} // EXCEPTION: TypeError: Cannot read property 'prop2' of undefined in [null]    
Run Code Online (Sandbox Code Playgroud)

关于如何使这个工作的任何想法?

angular

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

ngFor中的Angular2组件抛出错误(viewFactory不是函数)

我在Angular 2 app(beta 1)中有一个ComponentB.它完全正常,直到我将它放在ComponentA中的ngFor循环中.我收到了相当神秘的错误:

EXCEPTION:TypeError:viewFactory_ComponentB0不是[ComponentA @ 1:23中的数字]中的函数BrowserDomAdapter.logError @ angular2.dev.js:22690BrowserDomAdapter.logGroup @ angular2.dev.js:22701ExceptionHandler.call @ angular2.dev.js:1163 (匿名函数)@ angular2.dev.js:12416NgZone._notifyOnError @ angular2.dev.js:13324collection_1.StringMapWrapper.merge.onError @ angular2.dev.js:13228run @ angular2-polyfills.js:141(匿名函数)@ angular2 .dev.js:13247NgZone.run @ angular2.dev.js:13209(匿名函数)@ angular2.dev.js:12499schedulerFn @ angular2.dev.js:12742tryCatcher @ Rx.js:31Subscriber.next @ Rx.js:9500Subject ._next @ Rx.js:9999Subject.next @ Rx.js:9963EventEmitter.emit @ angular2.dev.js:12723(匿名函数)@ angular2.dev.js:13140run @ angular2-polyfills.js:138NgZone._notifyOnTurnDone @ angular2 .dev.js:13139(匿名函数)@ angular2.dev.js:13254zoneBoundFn @ angular2-polyfills.js:111lib $ es6 $ promise $ asap $$ flush @ angular2-polyfills.js:1305 angular2.dev.js:22690 ORIGINAL EXCEPTION:TypeError:viewFactory_ComponentB0不是functionBrowserDomAdapter.logError @ angular2.dev.js:22690ExceptionHandler.call @ angular2.dev.js:1172(匿名函数)@ angular2.dev.js:12416NgZone._notifyOnError @ angular2. dev.js:13324collection_1.StringMapWrapper.merge.onError @ angular2.dev.js:13228run @ angular2-polyfills.js:141(匿名函数)@ angular2.dev.js:13247NgZone.run @ angular2.dev.js:13209(匿名函数)@ angular2.dev.js:12499schedulerFn @ angular2.dev.js:12742tryCatcher @ …

javascript angular2-template angular

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

有没有办法将选项作为数组传递以在 bash 中查找命令?

我可以在rsync数组中定义我的排除/选项,并在后续命令中使用这些数组,例如

rsync "${rsyncOptions[@]}" "${rsyncExclusions[@]}" src dest

我想使用该find命令实现相同的目标,但我找不到让它工作的方法:

findExclusions=(
    "-not \( -name '#recycle' -prune \)"
    "-not \( -name '#snapshot' -prune \)"
    "-not \( -name '@eaDir' -prune \)"
    "-not \( -name '.TemporaryItems' -prune \)"
)
LC_ALL=C /bin/find src -mindepth 1 "${findExclusions[@]}" -print
Run Code Online (Sandbox Code Playgroud)

无论我尝试以何种组合来定义数组(单引号与双引号,转义括号),我总是会遇到错误:

find: unknown predicate `-not \( -name '#recycle' -prune \)'
# or
find: paths must precede expression: ! \( -name '#recycle' -prune \)
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

arrays bash find gnu-findutils

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