찾다

 >  Q&A  >  본문

angular.js - ng如何根据双向绑定的值自动向后台发送请求更新页面?

场景描述:
在page中有一个月份select下拉框,点击下拉框我们可以对应的月份

<select  ng-model="month"></select>

在controller中,要根据选择的月份去后端获取对应的数据

$scope.$watch($scope.month, function(){
       $http({ url:url,method:'GET',withCredentials:true
            }).success(function(data,header,config,status){
                  // do something
            })
});

我的思考:
假设页面中有多个下拉框,利用$watch一个个监视$scope变化,很不理想。有没有思路可以不使用$watch,当ng-model变化时,controller中自动发送http请求获取数据呢?

求高手指点~

ringa_leeringa_lee2740일 전569

모든 응답(3)나는 대답할 것이다

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:08:13

    $watch가 잘못 작성되었습니다:

    으아악

    다음 방법도 매우 간단합니다.

    으아악 으아악

    ng-change를 사용하면 성능이 더 좋아질 수도 있습니다. 위의 $watch()를 제거하는 것을 잊지 마세요:

    으아악

    성능 차이는 기본적으로 무시할 수 있습니다. 이전에도 비슷한 테스트를 1초 내에 100만 번 실행한 적이 있습니다.
    만약 그렇게 한다면 나중에 유지 관리가 편리한 $watch 방식을 사용하겠습니다. (ng-change 방식은 컨트롤러와 템플릿을 변경해야 하고 watch 방식은 컨트롤러만 변경하면 됩니다.)

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-05-15 17:08:13

    드롭다운 상자는 일반적으로 ngChangengChange

    명령을 사용하여 처리됩니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 17:08:13

    ngChange가 최선의 선택입니다. 원칙적으로 청취 대기열을 가능한 적게 설정하세요. 그렇지 않으면 효율성이 매우 낮습니다.

    회신하다
    0
  • 취소회신하다