首页 新闻 会员 周边

求教angular.js

0
悬赏园豆:5 [待解决问题]

  <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已经有值了,为什么页面还是空白的?

灬丶的主页 灬丶 | 初学一级 | 园豆:2
提问于:2018-04-27 15:25
< >
分享
所有回答(1)
0
<!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>
View Code

 

详细说明:https://www.cnblogs.com/dyh-air/articles/7992711.html

s_p | 园豆:138 (初学一级) | 2018-04-27 16:23

为什么菜鸟教程上面就不需要手动刷新

支持(0) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2018-04-27 17:41

@灬丶: $scope.$apply();//需要手动刷新我贴的代码有啊

支持(0) 反对(0) s_p | 园豆:138 (初学一级) | 2018-04-28 10:50

@s_p: 关键是我使用$scope.$apply()然后调试时页面浏览器就提示错误了,这个需要引用别的angular库?

支持(0) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2018-04-28 10:52

@灬丶: 检查错误啊 你复制我的代码保存为html 运行 查看效果。代码、运行效果、图片 。详细说明都贴了网址。。

支持(0) 反对(0) s_p | 园豆:138 (初学一级) | 2018-04-28 13:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册