![240](https://cdn2.jianshu.io/assets/default_avatar/14-0651acff782e7a18653d7530d6b27661.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
@lovelqy20 找到问题了,也和大家分享下
分析原因:@Input()
set todos(todos:Todo[]){
this._todos = [...todos];
}
此时todos必须初始化,否则第一次加载的时候是undefined,此时就会报上述错误。
解决方案:
1、在todo.component.ts父组件中,初始化todo ,todos: Todo[]=[];即可
2、不采用set,get修饰符的方式,直接 @Input() todos: Todo[] = []
Angular 从0到1 (四)第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第五节:多用户版本的待办事项应用第六节:使用第三方样式库及模块...
第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第五节:多用户版本的待办事项应用第六节:使用第三方样式库及模块...
代码提示错误就是在set修饰符的地方。
Angular 从0到1 (四)第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第五节:多用户版本的待办事项应用第六节:使用第三方样式库及模块...
我根据这个一步一操作,但是在完善todo应用的时候,有两个报错
ERROR
TypeError: Cannot read property 'slice' of undefined
at TodoListComponent.Object.defineProperty.set [as todos] (webpack-internal:///../../../../../src/app/todo/todo-list/todo-list.component.ts:24:32)
at updateProp (webpack-internal:///../../../core/esm5/core.js:12830:37)
at checkAndUpdateDirectiveInline (webpack-internal:///../../../core/esm5/core.js:12537:19)
at checkAndUpdateNodeInline (webpack-internal:///../../../core/esm5/core.js:14104:20)
at checkAndUpdateNode (webpack-internal:///../../../core/esm5/core.js:14047:16)
at debugCheckAndUpdateNode (webpack-internal:///../../../core/esm5/core.js:14940:76)
at debugCheckDirectivesFn (webpack-internal:///../../../core/esm5/core.js:14881:13)
at Object.eval [as updateDirectives] (ng:///TodoModule/TodoComponent.ngfactory.js:54:9)
at Object.debugUpdateDirectives [as updateDirectives] (webpack-internal:///../../../core/esm5/core.js:14866:21)
at checkAndUpdateView (webpack-internal:///../../../core/esm5/core.js:14013:14)View_TodoComponent_0 @ TodoComponent.html:2
TodoComponent.html:2 ERROR CONTEXT DebugContext_View_TodoComponent_0 @ TodoComponent.html:2
Angular 从0到1 (四)第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第五节:多用户版本的待办事项应用第六节:使用第三方样式库及模块...