【发布时间】:2016-02-05 21:18:28
【问题描述】:
我有 ASP.NET5 / MVC6 应用程序。用户加载页面,Razor View 负责数据的输出。例如(这是一个虚构的例子,仅供说明):
<div>@Model.Quantity</div>
用户可以更新数量,这是通过 Angular $resource 服务的 POST 完成的。服务器上的 HttpPost 更新数据库,并以 JSON 格式返回新的数量。我想更新页面上的值而不刷新整个页面。很清楚如何在 JQuery 中做到这一点:
$("#quantity").html(data)
但如果可能的话,我想继续使用 Angular。所以,我想象这样的事情:
<div ng-controller="inventoryCtrl as vm">
<script>
vm.Model.Quantity = @Model.Quantity
</script>
<div>{{vm.Model.Quantity}}</div>
</div>
然后控制器中的回调函数会更新Model.Quantity
但这不起作用... vm 未定义。
一定有更好的方法!
【问题讨论】:
-
我知道使用
ng-init不好,但试试<div ng-controller="inventoryCtrl as vm" ng-init="vm.Model.Quantity = @Model.Quantity"> -
大约有50个元素;其中一些是复杂的对象。如果我能做类似
ng-init="vm.Model = @Model的事情,我会这样做......
标签: javascript angularjs asp.net-mvc razor