我的Angular视图没有用数据表单服务器更新
My Angular view is not updated with data form server
我使用Angularjs,并调用表单服务器来检索数据。数据已成功检索,但我的视图未更新。我不明白为什么。这是我使用的代码。
Angularjs和html代码:
<div class="row custom-margin" ng-controller="ListCtlr" ng-init="initData()">
<form class="form-inline" role="form" id="formId" name="formId">
<div class="form-group">
<label for="searchInput">Data to search</label>
<input ng-model="searchInput" placeholder="Enter term to search">
</div>
<button type="submitSearch" class="btn btn-primary" ng-click="search()">Go</button>
</form>
</div>
<div class="table-responsive">
<table class="table">
<thead>
<tr class="info">
<th colspan="4" class="centertext">Name</th>
<th colspan="3" class="centertext">Age</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="person in persons">
<td>{{person.name}}</td>
<td>{{person.age}}</td>
</tr>
</tbody>
</table>
</div>
</div>
控制器代码:
function ListCtlr($scope, $http, $location,$filter) {
$scope.formId = {searchInput: ''};
$scope.search = function () {
var url='server/search/'+this.searchInput;
$http.get(url)
.success(function (data) {
$scope.persons = data;
})
.error(function(data){
$scope.error = data;
});
};
}
当我检查从服务器检索的数据时,我得到了以下JSON数据:
[{"name":"John","age":12},{"name":"Mary","age":25},{"name":"Garry","age":28}]
请问少了什么?
更改
<tr ng:repeat="person in persons">
<td>{{person.name}}</td>
<td>{{person.age}}</td>
</tr>
至
<tr ng-repeat="person in persons">
<td>{{person.name}}</td>
<td>{{person.age}}</td>
</tr>
问题是您的ListCtlr控制器被放置在不包含ng repeat的div上。
为了解决这个问题,创建一个外部div,将ng控制器放在该div上:
<div ng-controller="ListCtlr">
... (place contents of your html here) ...
</div>
这样可以确保ListCtlr的作用域包括ng repeat。
注意:请确保删除内部分区中定义的ng controller="ListCtlr"。
相关文章:
- 单击按钮即可显示带有提取的json数据的表
- 将数据从表单传递到另一个页面上的表-knockout.js
- 当用户将数据输入表单时要知道的事件
- 使用jQuery用data-*数据填充表单文本输入
- 如何将数据从表单传递到 php 函数到 javascript 以在画布上绘制而不刷新页面
- 根据 Ajax 返回的数据提交表单
- 如何在反应表中单击表行的列之一时获取表行的数据上下文
- 数据表 - 通过单击事件获取当前行的数据库 ID
- 使用表格数据填写表单
- 加载HighCharts图表/数据在表单上提交jQuery
- 如何使用 Ajax .serialize() 数据将表单发布到 PHP
- 使用来自另一个表单的数据填充表单
- 如何使用我要编辑的 html 表中行中的数据填充表单中的输入字段
- 角度:如何重置映射到不同数据的表单元素
- 将数据从表单获取到骨干中的集合
- 主干 - 使用嵌套的 json 数据将表单提交绑定回模型
- 单击按钮时添加带有附加数据的表行
- 如何将数据从表单传递到路由器
- 在 Laravel 5.1 和 Vue JS 中保存多个数据动态表单
- 如何使用jquery从数据表中单击按钮时选择过滤结果