我的第一个应用程序向生产的角度部署失败

时间:2019-02-12 10:48:44

标签: angular typescript

嗨,我是Angular的新手,并创建了一个简单的计算器应用程序,您可以在此处查看:

https://stackblitz.com/edit/angular-ibplpz

大多数情况下,应用程序都可以正常工作。但是,当我尝试运行“ ng build --prod”时,我发现cli中出现了错误:

  src / app / calculator / calculator.component.html(6,64)中的

ERROR::   类型“ allClear”的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(7,64)::   类型““ clear”'的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(9,67)::   类型““ divide”'的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(13,67)::   类型““ multiply”'的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(17,67)::   类型““减”“的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(21,11)::   类型““ add”'的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(24,38)::   类型““ dot”'的参数不能分配给类型的参数   “操作员”。 src / app / calculator / calculator.component.html(25,11)::   类型““等于”的参数不能分配给类型的参数   “操作员”。

也请告知我,我想知道应用程序的总体结构是否应该进行重组,以使其更好地成为“ Angular”的最佳选择。

1 个答案:

答案 0 :(得分:1)

即使$('ul#tree > li > ul > li').click(function() { //targets 2nd level of list $('ul#tree > li > ul > li').not(this).each(function() { $(this).children('ul').hide('fast'); }); }); 具有错误中的所有值,但它仍然不是同一类型。我更新了your blitz

您应该定义这样的类属性

$('ul#tree > li > ul > li > ul > li').click(function() { //targets 3rd level of list $('ul#tree > li > ul > li > ul > li').not(this).each(function() { $(this).children('ul').hide('fast'); }); });

在您的html中,将字符串参数更改为Operatoroperators = Operator;等。

例如,

更改

operators.allClear

operators.add

通过这种方式,angular不会抱怨类型不匹配。另外,您可以轻松地重构代码并更改枚举值。