引数名が間違っているCoffescriptコンパイルコンストラクター

Emrys Myrooin

AngularJSで初めてCoffeescriptを使用しようとしています。

サービスに依存する新しいサービスを定義したい $http

これが私が期待していることです:

var MyService = function($http) {
    this.$http = $http;
};

MyService.prototype.call = function(url, data) {
  this.$http(url, data);
};

myApp.service("webService", MyService)

これは、AngularJSのドキュメントに示されているようにサービスを登録する通常の方法です。

CoffeescriptとAngularJSの操作に関する記事を読んだ後、私はこれを試しました。

myApp.service "webService", class
    constructor : (@$http) ->
    call : (url, data) -> @$http url, data

しかし、コンパイルの結果はこのjavascriptを与えます:

myApp.service("webService", (function() {
    function _Class(_at_$http) {
        this.$http = _at_$http;
    }

    _Class.prototype.call = function(url, data) {
        return this.$http(url, data);
    };

    return _Class;

})());

問題は、Coffeescriptコンパイラがに置き換え@$httpられるべきではないということ_at_$httpです。私の場合、次のJavaScriptを出力する必要があります。

myApp.service("webService", (function() {
    function _Class($http) {
        this.$http = $http;
    }

    _Class.prototype.call = function(url, data) {
        return this.$http(url, data);
    };

    return _Class;

})());

CoffeescriptのWebサイトオンラインコンパイラが期待どおりの結果をもたらすことを確認できるので、なぜ私のものがうまく機能していないのかわかりません。

そして、これが必要なのは、角度注入エンジン_at_$http$httpパラメーター名を予期しているために認識さないためです。

ムーが短すぎる

CoffeeScript1.9.1以降にアップグレードする必要があります

  • 内部コンパイラ変数名は、アンダースコアで始まらなくなりました。これにより、生成されたJavaScriptが少しきれいになり、AngularJSが関数の引数を「解析」する完全に壊れた不敬虔な方法の問題も修正されます。

アップグレードできない場合は、インスタンス変数を手動で接続できます。

constructor : ($http) -> @$http = $http

CoffeeScript.orgは常に最新バージョンを実行しているため、すべてが正常に機能します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンストラクター引数の型が間違っている、PySide

分類Dev

コマンドライン引数rakeタスクの引数の数が間違っています

分類Dev

間違ったコンストラクターを探しているJPAコンストラクター

分類Dev

FragmentStatePagerAdapterコンストラクターの定数が間違っています

分類Dev

このクラスコンストラクターで何が間違っているのですか?

分類Dev

ルートが間違ったコントローラーにリダイレクトしている

分類Dev

タスクバーのアイコンAdobeReaderDCが間違っている

分類Dev

コンパイラが間違ったデータ型について不平を言っている

分類Dev

コンパイラは到達不能ステートメントがあると言っていますが、何が間違っているのですか?

分類Dev

Kotlinでパッケージ名が間違っているのに、なぜクラスがコンパイルされるのですか?

分類Dev

PrimeNGコンポーネントのインポートパスが間違っている

分類Dev

MinGWのコンパイルが間違っている

分類Dev

間違った引数で使用されているケースクラスをscalaコンパイラで検出する方法

分類Dev

PL / SQLコンパイルエラー-PLS-00382:式のタイプが間違っています

分類Dev

STARTコマンドで使用されたパス/ターゲットが間違っていてもバッチファイルを続行する

分類Dev

Azureパイプラインのdockerfileのコピーコマンドのパスが間違っています

分類Dev

コンパイルされたJavaクラスでパラメーター/引数名を保持する

分類Dev

ページのタイトルとコンテンツの順序が間違っている (wordpress/bootstrap/php)

分類Dev

LyncクライアントSDKが間違ったステータスコードを報告する

分類Dev

コンパイラが間違ったクラスでメインメソッドを探しています

分類Dev

シスコのコンタクトセンターアウトバウンドキャンペーンでクライアントのダイヤル時間が間違ってインポートされた

分類Dev

Entity FrameworkDbContextが間違ったコンストラクターで初期化されています

分類Dev

Kotlin-セカンダリコンストラクターを持つクラスでvalの結果が間違っている

分類Dev

レールが間違ったコントローラーアクションにリクエストを送信している残り火

分類Dev

Laravel、異なるサブドメインの同じパスが間違ったコントローラーを使用している

分類Dev

次のコードが間違った型にオートボックス化してコンパイルされるのはなぜですか?

分類Dev

最初の起動時のAndroidStudioタスクバーアイコンが間違っている(Linux)

分類Dev

値コンストラクターには引数が与えられていなくても、コードはコンパイルされたままです。

分類Dev

AngularUIルーターのテンプレートとコントローラーが間違っています

Related 関連記事

  1. 1

    コンストラクター引数の型が間違っている、PySide

  2. 2

    コマンドライン引数rakeタスクの引数の数が間違っています

  3. 3

    間違ったコンストラクターを探しているJPAコンストラクター

  4. 4

    FragmentStatePagerAdapterコンストラクターの定数が間違っています

  5. 5

    このクラスコンストラクターで何が間違っているのですか?

  6. 6

    ルートが間違ったコントローラーにリダイレクトしている

  7. 7

    タスクバーのアイコンAdobeReaderDCが間違っている

  8. 8

    コンパイラが間違ったデータ型について不平を言っている

  9. 9

    コンパイラは到達不能ステートメントがあると言っていますが、何が間違っているのですか?

  10. 10

    Kotlinでパッケージ名が間違っているのに、なぜクラスがコンパイルされるのですか?

  11. 11

    PrimeNGコンポーネントのインポートパスが間違っている

  12. 12

    MinGWのコンパイルが間違っている

  13. 13

    間違った引数で使用されているケースクラスをscalaコンパイラで検出する方法

  14. 14

    PL / SQLコンパイルエラー-PLS-00382:式のタイプが間違っています

  15. 15

    STARTコマンドで使用されたパス/ターゲットが間違っていてもバッチファイルを続行する

  16. 16

    Azureパイプラインのdockerfileのコピーコマンドのパスが間違っています

  17. 17

    コンパイルされたJavaクラスでパラメーター/引数名を保持する

  18. 18

    ページのタイトルとコンテンツの順序が間違っている (wordpress/bootstrap/php)

  19. 19

    LyncクライアントSDKが間違ったステータスコードを報告する

  20. 20

    コンパイラが間違ったクラスでメインメソッドを探しています

  21. 21

    シスコのコンタクトセンターアウトバウンドキャンペーンでクライアントのダイヤル時間が間違ってインポートされた

  22. 22

    Entity FrameworkDbContextが間違ったコンストラクターで初期化されています

  23. 23

    Kotlin-セカンダリコンストラクターを持つクラスでvalの結果が間違っている

  24. 24

    レールが間違ったコントローラーアクションにリクエストを送信している残り火

  25. 25

    Laravel、異なるサブドメインの同じパスが間違ったコントローラーを使用している

  26. 26

    次のコードが間違った型にオートボックス化してコンパイルされるのはなぜですか?

  27. 27

    最初の起動時のAndroidStudioタスクバーアイコンが間違っている(Linux)

  28. 28

    値コンストラクターには引数が与えられていなくても、コードはコンパイルされたままです。

  29. 29

    AngularUIルーターのテンプレートとコントローラーが間違っています

ホットタグ

アーカイブ