[英]Send data from component to controller
我有一個ID想要傳遞給該組件的控制器的組件。 這是擴展FaqController的類。 這是faq.ts
export class FaqPage extends FaqController {
constructor(
injector: Injector,
public viewController: ViewController,
public navCtrl: NavController,
public navParams: NavParams
)
{
super(injector);
console.log(this.navParams.get('id'))
}
}
我有一個處理彈性搜索數據的控制器,我的service
有一個方法,該方法需要faq.ts
的id
來完成正確的查詢:
faq.controller.ts
data = {
sections: null,
search: '',
menuFaq: [],
results: []
}
findById() {
this.faqService.findById(id, new RequestObject({
onSuccess: (menuFaq) => {
this.data.menuFaq = menuFaq;
}
}));
}
在上面的方法findById()
,我需要faq.ts
文件的ID,我該如何實現?
我不確定為什么需要分開FaqPage和FaqController,因為FaqPage已經是一個Controller。 我建議直接調用faqService。
像這樣:
export class FaqPage {
data = {
sections: null,
search: '',
menuFaq: [],
results: []
}
constructor(
injector: Injector,
public viewController: ViewController,
public navCtrl: NavController,
public navParams: NavParams
)
{
console.log(this.navParams.get('id'))
}
ngOnInit(){
this.findById(this.navParams.get('id'));
}
findById(id) {
this.faqService.findById(id, new RequestObject({
onSuccess: (menuFaq) => {
this.data.menuFaq = menuFaq;
}
}));
}
}
無論如何,如果您確定要這樣做,則可以在FaqController的構造函數中傳遞NavParams或FAQ ID來工作
如果我正確理解了您的問題,那么您就有一個基類FaqController
並且有一個擴展了該類的類稱為FaqPage
。 現在,您希望使用是建立在一個價值FaqPage
和使用它FaqController
。
在構造函數中獲取頁面ID時,可以將其傳遞給控制器。
class FaqController {
constructor(injector: Injector, private pageId: number) {
// ...
}
}
現在,您可以在findById中使用this.pageId
引用頁面ID。
剩下要做的就是更改FaqPage
的構造FaqPage
:
constructor(
injector: Injector,
public viewController: ViewController,
public navCtrl: NavController,
public navParams: NavParams
)
{
super(injector, this.navParams.get('id'));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.