Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2 ngSwitch指令,内容相同_Angular_Angular2 Directives - Fatal编程技术网

Angular 2 ngSwitch指令,内容相同

Angular 2 ngSwitch指令,内容相同,angular,angular2-directives,Angular,Angular2 Directives,我有一个ngSwitch,它将指令更改为我需要的指令。在每个箱子里都有完全相同的代码(大约100行) 相同的内容,许多div,许多ngFor。。 相同的内容,许多div,许多ngFor。。 相同的内容,许多div,许多ngFor。。 到目前为止,工作还不错,但我有许多未使用的代码,在所有情况下都必须更改简单的事情(目前为10件) 有没有一种方法可以在案例中使用相同的内容,或者将指令定义转换为更舒适的方式 我尝试将内容导出到自定义组件并导入到其中,但这会导致很多问题(我有50多个@Inputs

我有一个ngSwitch,它将指令更改为我需要的指令。在每个箱子里都有完全相同的代码(大约100行)


相同的内容,许多div,许多ngFor。。
相同的内容,许多div,许多ngFor。。
相同的内容,许多div,许多ngFor。。
到目前为止,工作还不错,但我有许多未使用的代码,在所有情况下都必须更改简单的事情(目前为10件)

有没有一种方法可以在案例中使用相同的内容,或者将指令定义转换为更舒适的方式


我尝试将内容导出到自定义组件并导入到其中,但这会导致很多问题(我有50多个@Inputs,需要一个大型服务来在父组件和所有其他姐妹和兄弟组件之间进行通信)

更新Angular 5

ngOutletContext
被重命名为
ngTemplateOutletContext

另见

原创


相同的内容,许多div,许多ngFor。。

另请参见

如果你在任何地方都有相同的内容,为什么要这样做?@GünterZöchbauer因为我需要不同的指令来根据索引“I”触发特定事件。循环1外的元素应该是可点击的,循环2外的元素应该是可拖动的,循环3外的元素有一个鼠标指针,我们会试试。上下文定义让我有点困惑,但通过文档,我会得到它。稍后将接受您的答案。您可以将对象作为上下文传递以在模板中使用<如果只声明一个变量,如
let items
,则会指定code>$implicit。具有其他名称的属性需要显式赋值,如
let idx=“index”
。通过这种方式,您可以使用模板中上下文对象的值作为
item
idx
like
myData
上迭代。工作起来很有魅力,我理解,ty。
<div [ngSwitch]="i + 1">
  <div *ngSwitchCase="1" directive1> Same content, many divs, many ngFor.. </div>
  <div *ngSwitchCase="2" directive2> Same content, many divs, many ngFor.. </div>
  <div *ngSwitchCase="3" directive3> Same content, many divs, many ngFor.. </div>                    
</div>