gpt4 book ai didi

typescript - 为什么在此处添加构造函数会破坏 Angular 2?

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:27 26 4
gpt4 key购买 nike

我正在尝试定义一个名为 NavItem 的 TypeScript 类,我想保存一个标题和 url。我发现如果我定义这个类并使用对象符号 {title: "foo", url: "bar"} 实例化它,它会完美地工作,但是只要我添加一个构造函数(即使我不要立即使用它)它会完全损坏:

import {Component, Input} from 'angular2/core'

@Component({
selector: 'nav-item',
templateUrl: './views/navitem.html',
})
export class NavItem {
@Input() title: String = "default title";
@Input() url: String;

// if I comment the following out it works fine:
constructor(inTitle: String, inUrl: String) {
this.title = inTitle;
this.url = inUrl;
}
}

如果我放入构造函数,我会在我的页面中得到这个:

EXCEPTION: No provider for String! (NavItem -> String) in [navItems in TopNav@2:11]

最佳答案

If I put the constructor in, I get this in my page:

这是因为 angular 应该为您实例化 Controller 。你不用 new FooController,angular 会。所以任何构造函数参数都必须有一个相应的在angular注册的提供者。

关于typescript - 为什么在此处添加构造函数会破坏 Angular 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com