是不是可以在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可以理解的内容。 –