0
我試圖實現服務類按本伍的conf視頻角1.3滿足角2.0 - 米哈爾Gołębiowski:使用打字稿類服務的角度1.4.7
https://youtu.be/pai1ZdFI2dg?t=4m25s
我一直收到此錯誤:
TypeError: Cannot read property 'prototype' of undefined
代碼如下:
var angular = window['angular'];
angular
.module('myApp', [])
.service('myService', [MyService])
.directive('test', function (myService) {
return {
restricts: 'E',
template: 'Directive output: {{ctrl.message}}',
controllerAs: 'ctrl',
controller: function() {
this.message = myService.message;
}
}
});
/*
// Works
function MyService() {
return {
message: "service test"
}
}
*/
// Does not work
class MyService {
public message:string;
constructor() {
this.message = "service test by class";
}
}
http://codepen.io/AshCoolman/pen/PPLONm?editors=001
編輯:解
簡單的包裝類的作品,這將現在做的事:
.service('myService', function() {return new MyService()})
其實它似乎很簡單的,現在我想起來了。示例視頻使用es6或許與Babel,而我正在使用Typescript。 在猜測,Typescript/Tracuer可能會以不同的方式做事。我將在今晚稍後調查並發表完整解釋。
編輯:解釋
馬丁Vseticka打我吧,見下文。
啊,是的,這看起來很奇怪,但它僅僅是我爲示例而刪除的注射註釋的重現者。以前'.service('myService',['$ http',MyService])''。它似乎不是問題。 –
我更新了我的答案。 –
起重,應該猜對> _ <感謝隊友 –