検索

ホームページ  >  に質問  >  本文

angular.js - angular里$.post无法绑定到$scope里($.post、$http.post用法区别)

如下所示,如果$scope.equipments=...那一段,放在$.post里就不能绑定到$scope.equipments上,如果放在外面就可以,这是为什么?


mainApp.controller('equipmentsController', function($scope, $http) { $.post("getAllDeviceList.action", {}, function(response){ $scope.equipments = [ { "id" : "1", "name" : "equipment01 ", "number" : "11" }, { "id" : "2", "name" : "equipment02 ", "number" : "22" }, { "id" : "3", "name" : "equipment03 ", "number" : "33" } ]; } ); $scope.equipments = [ { "id" : "1", "name" : "equipment01 ", "number" : "11" }, { "id" : "2", "name" : "equipment02 ", "number" : "22" }, { "id" : "3", "name" : "equipment03 ", "number" : "33" } ]; }
大家讲道理大家讲道理2744日前523

全員に返信(3)返信します

  • PHP中文网

    PHP中文网2017-05-15 16:54:49

    @lee1994522 さんから指摘を受けて、$.post メソッドを使用すると、 が angular のコンテキスト から外れてしまうため、angular の $scope にバインドできないことに気付きました。 脱离了angular的上下文,所以无法绑定到angular的$scope里。

    this is the point,pls.. $.post is not an Angular issue and the stuff
    it wraps is not in an Angular world,so it's obviously that the
    equipments outside is in Angular's world and it works as you expect

    try $scope.$apply() when you call a "none Angular" issue if you wanna
    refresh sth

    解决办法有两个:

    $.post

    第一个诚如@lee1994522所说,直接在$.post的回调函数的最后加上一句$scope.$apply() <ブロック引用>

    これがポイントです。お願いします。$.post は Angular の問題などではありません
    ラップは Angular の世界にないので、明らかに
    外部の機器は Angular の世界にあり、期待どおりに動作します

    必要に応じて、「角度なし」問題を呼び出すときに $scope.$apply() を試してみてください
    リフレッシュ sth

    解決策は 2 つあります:

    $.post

    最初の方法は、@lee1994522 が言ったように、$.post コールバック関数の最後に $scope.$apply() という文を直接追加して、変更をビューに同期的にバインドします # 🎜🎜# リーリー #🎜🎜#$http.post#🎜🎜# #🎜🎜#AngularJS - $http.post が JSON の代わりにリクエスト パラメーターを送信する方法#🎜🎜# #🎜🎜# グローバル定義: #🎜🎜# リーリー #🎜🎜#次にコントローラーに次のように書きます: #🎜🎜# リーリー

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 16:54:49

    元の投稿者の $.post の使い方がわかりません。 $http

    を注入する意味は何ですか?

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:54:49

    あなたの$.post不是angular的方法,所以实际上post的回调虽然执行了,但angular在视图上却不知道这件事。你可以在$.post里的赋值操作后面再跟一句$scope.$apply();、その割り当て操作が有効になります。

    返事
    0
  • キャンセル返事