2013-07-16 46 views
2

何時,如果使用剃刀渲染角度局部視圖是否合適?將Razor視圖用作AngularJS視圖有什麼好處嗎?

+0

嗯,我對剃刀一無所知,但我的一般感覺是,如果你不需要它,爲什麼要引入一個額外的模板層? Razor爲您提供了Angular的模板無法處理或表現不佳的問題嗎?堅持使用「Angular Way」的好處在於,事情是非常好的解耦,並且DI可以使測試變得更簡單。介紹其他圖書館/做事的方式無疑會使脫鉤複雜化。 – shaunhusain

+0

Razor在服務器上查看工作,在客戶端有角度,因此有明確的分界。你能給出一個場景並更好地解釋你的問題嗎? – Chandermani

+0

我想這個場景會將安全邏輯應用到視圖本身。如果某些部分需要隱藏或顯示,則可以避免將其完全渲染。 – rodmjay

回答

1

我通常試圖從混合服務器端採用了棱角分明的時候用客戶端渲染渲染望而卻步,但我發現它方便,有時:

  • 設置變量/數據被稱爲服務器端

一個示例可能是客戶端API密鑰,您可能希望使用客戶端而不需要對該信息進行額外的後端調用。

下面是一個模板的例子:

<div config="{ soundcloudApiKey: '@soundcloudApiKey' }"> 
</div> 

哪裏@soundcloudApiKey大概是提供一個樣板服務器端和config是你想要的指令,從標記使數據進入你的角碼的情況下,其他地方使用它:

myModule.directive('config', function() { 
    return { 
     link: function(scope, elm, attrs) { 
     // you can save config to a service and use it elsewhere 
     var config = scope.$eval(attrs.config); 
     console.log(config.soundcloudApiKey); 
     } 
    }; 
    }); 

注意:有可能是一個更清潔的方式來獲得這種類型通過登錄過程或顯式調用的配置設置,如配置數據,但我已經在使用這種類型的東西過去它工作得很好!