• angularjs select标签中参数的传递


      今天做的一个demo中需要一个下拉选择框,并根据所选择的内容向服务器发送请求。

      首先百度了一下angularjs关于select的使用,一种采用ng-repeat的方式。

    <select ng-model="stuTerm">
    <option ng-repeat="term in terms" value="{{term.val}}">{{term.text}}</option>
    </select> 
    <p>{{stuTerm.text}}</p>  
    <button ng-click="searchScoreY()">查询</button>

      我的想法是根据stuTerm.text向服务器发送请求。

    $scope.searchScore = function () {
                $http.get("userCenter/js/scoreList.json", {
                    params: {
                        XH: window.localStorage.stuId,
                        XQ: stuTerm.text
                    }
                }).then(function sucCall(res) {
                    $scope.scList = res.data;
                }, function errCAll(res) {
                    console.log(res);
                })
    };

      但是这个时候报错了stuTerm.text undefined。我以为是stuTerm.text没有在作用域里面定义的原因,就在一开始定义了$scope.stuTerm = "";但是这时候stuTerm还是等于空。即使select选择了新的东西,<p>{{stuTerm.text}}</p>也更新了。$scope.stuTerm还是空。

      诶?ng-model不是$scope <-> view的双向绑定么,为什么view更新了,$scope却获取不到呢?我觉得应该是ng-repeat会创建一个新的子作用域。而$scope作用域获取不到stuTerm的内容。所以我采用了在searchScore()中传入stuTerm.val进行调用。

    <button ng-click="searchScoreY(stuTerm.val)">查询</button>
    $scope.searchScore = function (t) {
        $http.get("", {
            params: {
                XH: window.localStorage.stuId,
                XQ: t
            }
        }).then(function sucCall(res) {
            $scope.scList = res.data;
        }, function errCAll(res) {
            console.log(res);
        })
    };

    嗯,这回是对了。上面关于作用域的问题如果有大佬看到,欢迎大佬指点啊!

  • 相关阅读:
    微信小程序开发之tab导航栏
    微信小程序开发之日期组件
    微信小程序运行机制
    iis部署错误:HTTP 错误 500.21
    web API请求与参数获取
    C#API接口调试工具
    微信小程序之自定义组件与使用
    微信小程序开发之拼接json数组字符串
    IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证
    IdentityServer4 中文文档 -10- (快速入门)使用密码保护API
  • 原文地址:https://www.cnblogs.com/jiasonglindeboke/p/7351745.html
Copyright © 2020-2023  润新知