【发布时间】:2017-04-05 02:55:53
【问题描述】:
Angular 2 应用程序遇到错误,提示“错误:./SampleComponent 类 SampleComponent 中的错误 - 内联模板导致:严格模式下未定义的变量”。 但我只在 IE 10> 中收到此错误。
<input type="text" class="form-control" name="name" formControlName="name" placeholder="Name" [nameFormatter]="selected">
这里传递给属性指令nameFormatter 的“selected”值是一个在组件中初始化的变量。如果我尝试使用一些静态值删除selected 变量,这似乎工作正常。分配它使用 selected 变量会导致此问题。
export class NameComponent implements OnInit {
public selected : string;
someFunction(){
this.selected="some value" //The value changes depending on some conditions
}
}
与 polyfills 有什么关系吗?我尝试将以下 polyfills 添加到 index.html 中,但没有成功。
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.33.3/es6-shim.min.js"></script>
<script src="https://npmcdn.com/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
<script src="https://unpkg.com/core-js/client/shim.min.js"></script>
有人可以指导我吗?
【问题讨论】:
-
你尝试过初始化变量吗?
public selected : string = ""; -
tanx @Arg0n。我尝试添加这些。但效果似乎相同
-
您必须发布更多代码。我们能看到这个组件的 html 吗?通常错误
Variable undefined in strict mode发生在strict mode(TS默认使用)由于没有使用var声明所以这会产生错误somevar = 5虽然这很好var somevar = 5 -
@AhmedMusallam.Tanx 回复。为什么它可以在除 IE 之外的所有其他浏览器中使用?
标签: javascript angular typescript angular-cli