您好!欢迎来到聚码网

聚码网

热门搜索: 相亲小程序    搭子源码    直播系统自有商城   
  • Angular2中声明的成员变量为何显示undefined?
  • 聚码交流
  • 0 0
  • yhuxAvNbtxUM
    0000-00-00 00:00:00
  • 回帖
在用angular和ionic2做个添加备忘事件demo,结果页面报错,AlertCmp.html:1ERRORTypeError:Cannotreadproperty'push'ofundefinedatObject.handler(check-list.ts:40)atAlertCmp.btnClick(alert-component.js:184)atObject.eval[ashandleEvent](AlertCmp.html:1)athandleEvent(core.es5.js:11914)atcallWithDebugContext(core.es5.js:13206)atObject.debugHandleEvent[ashandleEvent](core.es5.js:12794)atdispatchEvent(core.es5.js:8814)atcore.es5.js:9406atHTMLButtonElement.<anonymous>(platform-browser.es5.js:2687)att.invokeTask(polyfills.js:3)百思不得其解,望解答。代码:import{Component}from'@angular/core';import{AlertController,IonicPage,NavController,NavParams}from'ionic-angular';import{CheckListModel}from"../../models/check-list-model";@Component({selector:'page-check-list',templateUrl:'check-list.html',})exportclassCheckListPage{checklists:CheckListModel[];constructor(publicnavCtrl:NavController,publicnavParams:NavParams,publicalertCtrl:AlertController){}ionViewDidLoad(){console.log('ionViewDidLoadCheckListPage');}save(){};addChecklist(){letprompt=this.alertCtrl.create({title:'添加新的事项',message:'在这里你可以添加新的待办事项',inputs:[{name:'name'}],buttons:[{text:'取消'},{text:'保存',handler:data=>{letnewChecklist=newCheckListModel(data.name,[]);this.checklists.push(newChecklist);newChecklist.checklistObservable.subscribe(res=>{this.save()});this.save();}}]});prompt.present();};renameChecklist(checklist){letprompt=this.alertCtrl.create({title:'修改事项',message:'在这里你可以修改你的待办事项',inputs:[{name:'name'}],buttons:[{text:'取消'},{text:'保存',handler:data=>{leti=this.checklists.indexOf(checklist);this.checklists[i].setTitle(data.name);this.save();}}]});prompt.present();};removeChecklist(checklist):void{letindex=this.checklists.indexOf(checklist);if(index>-1){this.checklists.splice(index,1);this.save();}};viewChecklist(checklist):void{this.navCtrl.push(CheckListPage,{checklist:checklist});}}运行代码显示push方法未定义,我在addchecklist方法中consolelog了this.checklists显示undefine;下面附上CheckListModel代码:import{Observable}from"rxjs/Observable";exportclassCheckListModel{checklistObservable:any;checklistObserver:any;constructor(publictitle:string,publicitems:any){this.checklistObservable=Observable.create(observer=>this.checklistObserver=observer);}addItem(item){this.items.push({title:item,checked:false});this.checklistObserver.next(true);}removeItem(item){leti=this.items.indexOf(item);if(i>-1){this.items.splice(i,1)}this.checklistObserver.next(true);}renameItem(item,title){leti=this.items.indexOf(item);if(i>-1){this.items[i].title=title}this.checklistObserver.next(true);}setTitle(title){this.title=title;this.checklistObserver.next(true);}toggleItem(item){item.checked=!item.checked;this.checklistObserver.next(true);}}求大神帮看下究竟咋回事?
最近热帖
近期热议
联系我们
Q Q:317563994
电话:400-000-000
邮箱:317563994@qq.com
时间:09:00 - 17:00