2016-08-03 97 views
0

我有一個asp.net cshtml文件,但我必須將腳本html與ids配合才能使ngRoutes正常工作。到目前爲止,我CSHTML文件看起來像這樣:如何在沒有所有腳本文本的情況下將腳本包含到我的cshtml文件中

<div ng-view></div> 

<script type="text/ng-template id="one.html"> 
...very long html... 
</script> 
<script type="text/ng-template id="two.html"> 
...very long html... 
</script> 
<script type="text/ng-template id="three.html"> 
...very long html... 
</script> 
<script type="text/ng-template id="four.html"> 
...very long html... 
</script> 

我不想包括所有的腳本,但是需要用它來顯示一個類似的指令。我我怎麼能這樣做?

<div ng-view></div> 
<div ng-include="'one.html''"></div> 
<div ng-include="'two.html''"></div> 
<div ng-include="'three.html''"></div> 

已經試過了方式,但它不允許我只是將其包含在剃刀文件。

回答

1

我假設你使用的是ngRoute。在這種情況下,你可以在配置階段設置在routeProvider模板網址:

angular.module('yourmodule', ['ngRoute']) 
.config(['$routeProvider', function ($routeProvider) { 
    $routeProvider 
     .when('/one', { 
      templateUrl: 'one.html', 
     }) 
     .when('/two', { 
      templateUrl: 'two.html', 
     }); 
}]) 
+0

我使用ngRoute,但是當我把路徑在templateurl文件,它無法正確加載路由鏈接在我的服務器上,但在我的本地。我真的想把所有的模板保存在一個單獨的html文件中,但是當我在服務器上發佈它時,我遇到了問題,當它在本地工作時很好。如果我在本地和服務器上包含

下的id腳本,它工作正常 – epv

+0

這可能是一個路徑問題。 templateUrl需要包含從客戶端(瀏覽器)看到的文件的完整路徑。如果您的應用程序位於子目錄中,則需要將這些添加到模板路徑中。你可以在你最喜歡的瀏覽器的開發者工具中查看。 –

+0

我想我必須配置路由,以便如果它在本地主機上,它將使用when子句中的前導斜槓,並且在測試服務器主機中時,將其設置爲不使用前導斜槓。 ngRoute不會允許when子句中的變量,所以我可以這樣做,如果host在本地主機use/else中設置爲「」開頭。 – epv

相關問題