我想使用MVC控制器将对象发送到angularjs控制器动作是否可能?
假设
public ActionResult Dashboard()
{
return View();
}
我想将对象传递给app.js如何做到这一点
答案 0 :(得分:2)
你的问题有点模糊,你需要更具体地了解你究竟想要做什么。
通常,这是他如何从MVC应用程序中获取Angular中的数据。
在MVC / WebAPI的情况下,您应该使用操作将JSON结果返回到角度服务,然后可以通过角度处理。 示例如下:
app.factory('myService', function($http) {
var myService = {
GetData: function() {
// $http returns a promise, which has a then function, which also returns a promise
var promise = $http.get('<ActionURL>').then(function (response) {
// The then function here is an opportunity to modify the response
console.log(response);
// The return value gets picked up by the then in the controller.
return response.data;
});
// Return the promise to the controller
return promise;
}
};
return myService;
});
app.controller('MainCtrl', function( myService,$scope) {
// Call the async method and then do stuff with what is returned inside our own then function
myService.GetData().then(function(d) {
$scope.data = d;
});
});
从MainCtrl调用此服务后,angular将在其$ scope.data变量中提供MVC操作的数据。