<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 运行 查看效果。代码、运行效果、图片 。详细说明都贴了网址。。