8

シンプルなアプリケーションでノックアウト js を使用しています。ノックアウト js は私のアプリケーションで正常に動作します。私の問題は、ノックアウトのインテリセンスが表示されないのはなぜVS 2013ですか? WebStormまた、 のインテリセンスも表示されjQueryます。

現在、私のコードは次のとおりです。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="Scripts/jquery-1.9.0.js"></script>
    <script type="text/javascript" src="Scripts/knockout-3.0.0.js"></script>
    <script type="text/javascript">
        $(function() {
            $("#jqueryTestId").html("Hello world, From jquery.");
        });
    </script>
</head>
<body>
    <div>
        name: <input type="text" data-bind="value: name"/> <br/>
        You've clicked <span data-bind="text: numberOfClicks"></span> times
        <button data-bind="click: incrementClickCounter">Click me</button>

    </div>
    <div id="jqueryTestId">

    </div>

<script type="text/javascript">
    var viewModel = {
        numberOfClicks : ko.observable(0),
        name : ko.observable(""),
        incrementClickCounter : function() {
            var previousCount = this.numberOfClicks();
            alert(this.name("TestName"));
            this.numberOfClicks(previousCount + 1);
        }
    };

    ko.applyBindings(viewModel);
</script>
</body>
</html>

WebStorm では、インテリセンスは表示されません。ただし、VS 2013 では、推奨リストにのみ表示されますが、次のような機能koは表示されません。observable

ko.observable();

インテリセンスを有効にするにはどうすればよいですか?

4

2 に答える 2

7

私が行ったKnockoutJSのデバッグバージョンを使用するだけで、非常にうまくオートコンプリートされました:

<script type="text/javascript" src="js/knockout-3.2.0.debug.js"/>

ノックアウト デバッグ バージョン

これで問題が解決することを願っています:)

また、これは「data-bind」タグでもうまく機能します:リンク

于 2014-09-25T17:16:24.693 に答える
1

@RP Niemeyer が提案したように、Settings/libraries/javaScript で javascript ライブラリとして構成された knockout.d.ts を使用することが WebStorm の最適なソリューションです。縮小したノックアウト 3.0.0.js をライブラリとして使用することは現在機能しません - WEB-10723を参照してください

于 2014-02-04T12:02:40.997 に答える