我在AngularJs应用程序中测试以下代码,它在Firefox中工作正常,但IE11会为箭头抛出语法错误:
myApp.run((EventTitle, moment) => {
EventTitle.weekView = event => `${moment(event.startsAt).format('hh:mm')} event.title`;
});
对IE有用的语法是什么?
答案 0 :(得分:1)
IE11不支持多种ES6功能,包括lambda函数和模板文字。
应该起作用的粗略对等物是:
myApp.run(function(EventTitle, moment) {
EventTitle.weekView = function(event) {
return moment(event.startsAt).format('hh:mm') + " " + event.title;
};
});
但是,有些方法使箭头功能与常规功能的工作方式不同。例如,您需要关注this
个关键字的使用情况。
或者,如果您使用像Babel这样的转换器(或像TypeScript这样的转换语言),您可以使用像原始代码这样的新语言功能,并自动生成将在不支持这些功能的浏览器中运行的JavaScript代码。