Asp.net 如何将@Model传递给Angular ng init
在ASP.NET MVC 4视图中,是否可以将@Model传递给Asp.net 如何将@Model传递给Angular ng init,asp.net,angularjs,Asp.net,Angularjs,在ASP.NET MVC 4视图中,是否可以将@Model传递给ng init?当我像data ng init=init(@Model)那样操作时,它在init()函数中未定义 $scope.init = fuynction(model){ console.log(model); // prints undefined } 顺便说一下,我对AngularJs还不熟悉。提前感谢您的帮助。使用Newtonsoft.json assembly或类似工具将您的模型序列化为json字符串,并将序
ng init
?当我像data ng init=init(@Model)
那样操作时,它在init()函数中未定义
$scope.init = fuynction(model){
console.log(model); // prints undefined
}
顺便说一下,我对AngularJs还不熟悉。提前感谢您的帮助。使用Newtonsoft.json assembly或类似工具将您的模型序列化为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
}
$scope.init=函数(名称){
console.log(name);//打印name的值
}
请注意,即使在这个简单的示例中,也有必要将@Model.Name
格式化为JavaScript字符串(在其周围加引号)
您可能不想使用整个@Model
对象。最好只选择您想要的字段,并将其单独传递
如果您需要从服务器访问大量数据,建议使用$http
服务并对数据进行服务器调用。在@using ProjectApp.Models中插入@using-init=“init(@Newtonsoft.Json.JsonConvert.SerializeObject(Model))”记住,Angular在浏览器上运行,只知道客户端JavaScript。要使用该模型,您需要将@model
序列化为JavaScript可以理解的内容。即使我传递@model.Name,它仍然为空。我使用了这个:data ng init=“init(@JsonConvert.SerializeObject(Model))
。它起作用了。使用@JsonConvert还需要其他什么吗?