<div ng-controller="myController" ng-app="myApp">
<div class="address_serace">
@* ng-change当输入框的值改变时执行函数search:*@
@* ng-model绑定输入框的值到 scope 变量中:*@
<input class="form-control" ng-change="search()" ng-model="demoKey" placeholder="搜索">
</div>
<table>
<tr ng-repeat="x in names">
<td>{{ x.Name }}</td>
<td>{{ x.Price }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myController", function ($scope, $http) {
$scope.search = function () {
var result = $http({
method: "get",
url: "../api/home/get",
params: {
"id": $scope.demoKey
}
});
result.then(function successCallBack(response) {
$scope.names = response.data;
alert("请求成功");
}, function errorCallBack(response) {
alert("请求失败");
});
};
});
</script>
调试的时候names已经有值了,为什么页面还是空白的?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-controller="myController" ng-app="myApp">
<div class="address_serace">
@* ng-change当输入框的值改变时执行函数search:*@
@* ng-model绑定输入框的值到 scope 变量中:*@
<input class="form-control" ng-change="search()" ng-model="demoKey" placeholder="搜索">
</div>
<table>
<tr ng-repeat="x in names">
<td>{{ x.name }}</td>
<td>{{ x.price }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myController", function ($scope, $http) {
$scope.search = function ()
{
//模拟数据
setTimeout(function(){
$scope.names=[{name:1,price:"2"},{name:2,price:"233"}];
$scope.$apply();//需要手动刷新
},2000)
};
});
</script>
</body>
</html>

详细说明:https://www.cnblogs.com/dyh-air/articles/7992711.html
为什么菜鸟教程上面就不需要手动刷新
@灬丶: $scope.$apply();//需要手动刷新我贴的代码有啊
@s_p: 关键是我使用$scope.$apply()然后调试时页面浏览器就提示错误了,这个需要引用别的angular库?
@灬丶: 检查错误啊 你复制我的代码保存为html 运行 查看效果。代码、运行效果、图片 。详细说明都贴了网址。。