Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何将@Model传递给Angular ng init_Asp.net_Angularjs - Fatal编程技术网

Asp.net 如何将@Model传递给Angular ng init

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字符串,并将序

在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字符串,并将序列化结果传递给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还需要其他什么吗?