在我的应用程序中,我试图将mvc控制器参数传递给角度控制器。因为我想从另一个api获取数据。
MVC控制器
public ActionResult Hotel(long hotelCode, string Destination)
{ return View(model); }
在视图中我将模型传递给脚本。所以我可以获得角度参数。
查看
<script type="text/javascript">
var data = @Html.Raw(Json.Encode(Model));</script>
AngulerJS控制器
app.controller('ctrl', function ($scope, $q, $window, studentService, filterFilter) {
$scope.datax = $window.data;
$scope.saveSubs = function () {
var sub = {
Des: $scope.datax.HotelCode,
DepartureDate: $scope.datax.Des
};
var saveSubs = APIService.hotelavailability(sub);
saveSubs.then(function (d) {
console.log("Succss");
$scope.respData = d.data.hotels;
}, function (error) {
console.log('Oops! Something went wrong while saving the data.');
alert("Oops! Something went wrong while saving the data.");
});
};
});
他们是否可以调用api并将数据绑定到视图而不将参数传递给角度控制器?。
答案 0 :(得分:2)
您的变量数据应该可以作为全局变量访问,而无需注入$ window。
$scope.datax = data;
如果感觉不舒服,您也应该能够直接访问窗口变量:
$scope.datax = window.data;
如果您更新了该值,则直接在模板中绑定可能会导致问题,因为在控制器范围之外的全局变量上没有设置监视。