我是Angular的新手,并且遇到了一个问题,一个子组件的构造函数被调用了两次,第二次被调用它是第一次清除属性集.
这是父组件:
@Component({
selector: 'parent-item',
templateUrl: '...',
providers: [ItemService]
})
export class ParentItemComponent {
public parentItemId;
public model: ParentItem;
constructor(itemService: ItemService, elm: ElementRef) {
this.parentItemId = elm.nativeElement.getAttribute('parentItemId');
itemService.getParentItem(this.parentItemId).subscribe(data => this.model = data);
}
}
Run Code Online (Sandbox Code Playgroud)
在模板中引用了子组件:
<child-items [parentItemId]="parentItemId">Loading...</<child-items>
Run Code Online (Sandbox Code Playgroud)
这是子组件:
@Component({
selector: 'child-items',
templateUrl: '...',
providers: [ItemService]
})
export class ChildItemsComponent {
@Input() public parentItemId: number;
public items: Observable<ChildItem[]>;
constructor(private itemService: ItemService) {
console.log("constructor");
}
ngOnInit() {
if (this.parentItemId) {
this.items = this.itemService.getChildItems(this.parentItemId);
}
else {
console.log("Parent Id not set!");
}
} …Run Code Online (Sandbox Code Playgroud) 我目前有一个天蓝色的webjob,它执行从一个数据库到另一个数据库的每日同步,但还想增加手动触发同步的功能。我在webjob项目中设置了以下功能:
public static void SyncData([TimerTrigger("0 0 5 * * *", RunOnStartup = false)] TimerInfo timerInfo) { }
[NoAutomaticTrigger]
public static Task SyncAll(TraceWriter log){ }
[NoAutomaticTrigger]
public static Task SyncBranches(TraceWriter log){ }
[NoAutomaticTrigger]
public static Task SyncCustomers(TraceWriter log){ }
[NoAutomaticTrigger]
public static Task SyncInventory(TraceWriter log){ }
Run Code Online (Sandbox Code Playgroud)
我可以在webjob下的Kudu仪表板中看到这些功能,但是不确定如何通过MS文档(此处)上列出的http请求触发这些功能:
http://<yourapp>.azurewebsites.net/api/<funcname>
Run Code Online (Sandbox Code Playgroud)
当我向该端点发出请求时,我会收到404响应-为了通过http请求手动触发这些功能,我需要做什么?
谢谢,瑞安