2011-05-02 85 views
5

我嘗試了一個測試MVC3項目中的knockout.js。我有以下結構:爲什麼intellisense不能在我的ko對象上工作?

Project Root 
    Scripts 
    jquery-1.4.4.js 
    knockout-1.2.0.debug.js 
    etc... 
    Views 
    Home 
     Index.cshtml 
    Shared 
     _Layout.cshtml 
    HTMLPage1.htm 

在我_Layout.cshtml文件,我有以下腳本塊:

<script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery.tmpl.js" type="text/javascript"></script> 
<script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script> 

在我Index.cshtml文件,我想用KO對象在我的腳本塊。它運行良好,但在VS設計師中,我沒有對ko對象本身有任何智能感知。

如果我在根項目級別打開純HTML文件並在其中放置腳本塊,我會在ko對象上獲得智能感知。

我有什麼問題?爲什麼不能intellisense在我的.cshtml文件中看到ko對象?

我在VS調試輸出請注意,我得到如下:

的Javascript智能感知消息:JSIntellisense:內部/窗口(18:4):功能預計
的Javascript智能感知消息:JSIntellisense:內部/ window(19:8):'ko'未定義
Javascript Intellisense消息:JSIntellisense:內部/窗口(18:4):預計功能
Javascript Intellisense消息:JSIntellisense:Internal/window(19:8) ko'未定義
Javascript Intellisense Message:JSIntel內部/窗口(18:4):預計功能
Javascript Intellisense消息:JSIntellisense:內部/窗口(19:8):'ko'未定義
Javascript Intellisense消息:JSIntellisense:Internal/window(18:4 ):功能預期
JavaScript智能消息:JSIntellisense:內部/窗口(19:8): 'こ' 是未定義

回答

11

,理解了它。我需要讓我的腳本塊在實際的.cshtml文件中引用我的.js文件。

如:

@if (false) 
{ 
    <script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery-ui.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery.tmpl.js" type="text/javascript"></script> 
    <script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script> 
} 

的@if(false)代表他們沒有得到包括在運行時(因此使用這些腳本包括從我的主人.cshtml文件)。

相關問題