0

以下は、angularjs 2 es6 テンプレートhttp://goo.gl/IGaTZwから開始されたプランカーからの ものです。暗黙モードが干渉している場合に備えて、traceur を追加し、main.es6.js を main.js に置き換えて削除しました。

<head>
<script data-require="traceur-runtime@0.0.88" data-semver="0.0.88" src="https://cdn.rawgit.com/google/traceur-compiler/d3d0553de3315398a956dc2f9edd6a982d786b0a/bin/traceur-runtime.js"></script>
<script src="https://jspm.io/system.js"></script>
<script src="https://code.angularjs.org/2.0.0-alpha.30/angular2.dev.js"></script>
</head>    

<body>
<app></app>
<script>System.import('main');</script>
</body>

Main.js-----

import {
  ComponentAnnotation as Component,
  ViewAnnotation as View, bootstrap
} from 'angular2/angular2';

@Component({
  selector: 'app',
  viewInjector: [Service]
})
@View({
  template: '{{greeting}} world!'
})
class App {
  constructor(service: Service) {
    this.greeting = service.greeting();
    setTimeout(() => this.greeting = 'Howdy,', 1000);
  }

}

class Service {
  greeting() {
    return 'Hello';
  } 
}

bootstrap(App);

スクリプトファイルをダウンロードしてローカルで実行しようとしましたが、そこでも失敗しました。ラップトップに問題があるため、npmなどを使用できません。

よろしくお願いします。

4

1 に答える 1

0

修正するには、traceur オプションを含めます。

 System.config({
   traceurOptions: {
     annotations: true
 }

, (注釈は実験的なものであり、手動でオンにする必要があります) 追加

import { Inject } from 'angular2/di';

Appコンストラクター引数を変更します

constructor(@Inject(Service) service).

traceur オプションに types:true を追加する限り、コンストラクター ( service:Service) に型を inject アノテーションなしで配置することも可能と思われます。

于 2015-07-31T10:57:50.600 に答える