Javascript 如何在MVC视图中访问angular$scope变量的值?
下面的函数从控制器函数中检索数据并将其保存到Javascript 如何在MVC视图中访问angular$scope变量的值?,javascript,angularjs,model-view-controller,Javascript,Angularjs,Model View Controller,下面的函数从控制器函数中检索数据并将其保存到$scope.Details并重定向到付款视图 $scope.pay = function () { $http.get('api/Details/123').success(function (data) { $scope.Details = data; }); $location.url('/payment'); } 另外,我正在初始化paym
$scope.Details
并重定向到付款视图
$scope.pay = function () {
$http.get('api/Details/123').success(function (data) {
$scope.Details = data;
});
$location.url('/payment');
}
另外,我正在初始化paymentForm
范围,以获取上面检索到的$scope.Details
中的值
$scope.paymentForm = {
FirstName: $scope.Details.FirstName,
LastName: $scope.Details.LastName,
PaymentAmount: $scope.Details.PaymentAmount
};
控制器功能:
[HttpGet]
[Route("api/Details/{id}")]
public Details Details(int id)
{
return new Details()
{
FirstName = "Test",
LastName = "Tester"
};
}
付款视图:
<label for="fname">First Name</label>
<input id="firstname" type="text" ng-model="paymentForm.FirstName">
<label for="lname">Last Name</label>
<input id="lastname" type="text" ng-model="paymentForm.LastName">
名字
姓
付款表单不填充“名字”和“姓氏”字段中的值。有人能指出我在这里遗漏了什么吗?
谢谢大家! 尝试在
$scope.pay
函数声明上方添加$scope.Details={}
。然后,这段代码应该可以完成这项工作。我们这里缺少了很多,比如您在中分配了哪个angular控制器$scope.paymentForm
,以及ng controller
指令在HTML视图中的位置。另外,您的输入元素没有(自)关闭,angular可能有一些问题。谢谢。我将尝试这些方法。当我在表单上的控件中键入时,我发现payment视图正在将值保存到范围变量paymentForm。但是,当视图第一次显示时,我无法从范围填充视图上的默认值。不知何故,$scope.Details中的数据不会传递到$scope.paymentForm。在Pay()函数中加载$scope.Details后,我尝试了$scope.$apply(),但没有成功。谢谢!尝试创建一个初始的$scope.paymentForm={FirstName:'',LastName:'',PaymentAmount:'}
成功后,更改$scope.paymentForm.FirstName=data.FirstName
等其他道具。您也不应该以这种方式需要$scope.Details对象。