是不是可以在ASP.NET MVC 4視圖中將@Model傳遞給ng-init
?當我像data-ng-init=init(@Model)
這樣做時,它在init()
函數中未定義。如何將@Model傳遞給Angular ng-init
$scope.init = fuynction(model){
console.log(model); // prints undefined
}
順便說一句,我是AngularJs的新手。提前感謝任何幫助。
是不是可以在ASP.NET MVC 4視圖中將@Model傳遞給ng-init
?當我像data-ng-init=init(@Model)
這樣做時,它在init()
函數中未定義。如何將@Model傳遞給Angular ng-init
$scope.init = fuynction(model){
console.log(model); // prints undefined
}
順便說一句,我是AngularJs的新手。提前感謝任何幫助。
使用Newtonsoft.Json程序集或類似程序將您的模型序列化爲json字符串,並將序列化結果傳遞給data-ng-init。
正如我所評論的,您需要在您的服務器端對象(例如@Model
)和客戶端對象之間進行轉換。
例如,如果你只是想用的@Model
的Name
屬性,你可以做這樣的事情:
<div ng-init="init('@Model.Name')"></div>
$scope.init = function(name){
console.log(name); // prints value of name
}
注意,即使在這個簡單的例子,它是必要的格式@Model.Name
轉換爲JavaScript字符串(通過引用它)。
也許,您不想使用整個整個@Model
對象。最好只選擇你想要的字段並單獨傳遞它們。
如果您需要訪問服務器上的大量數據,建議使用$http
服務並對數據進行服務器調用。
即使當我傳遞@ Model.Name它仍然爲空。我使用了這個:'data-ng-init =「init(@ JsonConvert.SerializeObject(Model))'。它工作。 – Beginner
你需要額外的東西來使用@JsonConvert嗎? – Winnemucca
inlcude的@using ProjectApp.Models則數據初始化NG-= 「的init(@ Newtonsoft.Json.JsonConvert.SerializeObject(型號))」
記住,角是在瀏覽器上運行,並且只知道客戶端邊JavaScript。要使用模型,您需要將'@ Model'序列化爲JavaScript可以理解的內容。 –