我的应用程序的部分是完整的AJAX,有些是传统的POST和重载。使用$http
将数据导入$scope
是一项琐碎的任务,但是,当数据在页面加载期间(以每个人都知道和喜欢的正常MVC方式)而不是事后通过AJAX可用于模板时,该怎么办?
考虑以下代码:
<div ng-repeat="address in addresses">
{{ address.address1 }}
{{ address.city }}, {{ address.state }} {{ address.zip }}
</div>
如果不使用AJAX,我该如何将100个动态生成的地址加载到$scope.addresses
中?
最简单的方法是对"内联"控制器使用ng init:
@model SampleViewModel
...
<div ng-controller="SampleCtrl" ng-init="adresses=@Model.AdressesList">
这里展示了另一种方法:
<script>
function SampleCtrl($scope){
$scope.adresses = @Html.Raw(Json.Encode(Model));
...
}
</script>
<div ng-controller="SampleCtrl" ng-repeat="address in addresses">
ng-init
是angularJS在页面加载时对数据进行操作的选项。
在这里,在您的情况下,您可以实现一个函数,然后将这些动态生成的值分配到$scope.addresses
中。
<div ng-init="functionToAssignAddresses()">
/* Populate your Addresses here.*/
</div>
有关更多信息,请参阅此处的ng-init
文档。