2017-07-24 141 views
0

如何在複選框更改事件中使用AngularJS調用Web服務。 這裏是我的代碼如何從另一個控制器調用角度js控制器

angular.module('myApp', []).controller('checkBoxCtrl', ['$scope', function ($scope) { 

    $scope.SelectedMobileCateg = function() { 
     alert($scope.SelectedMobID); 
     debugger; 
     angular.module('myApp', []).controller("ProductController", function ($scope, $http) { 
      $http.get('http://localhost:50622/api/GetMobile/getMobiles'). 
       success(function (data) { 
        $scope.products = data; 
        debugger; 
       }). 
       error(function (data) { 
        debugger; 
        alert("erro"); 
       }); 
     }); 
    }; 

}]); 

我會很感謝全給你

+1

哇,哇,爲什麼你只有一個控制器只有一個複選框在首位? – Alburkerk

+0

你想達到什麼目的?這不是好的解決方案 – DMCISSOKHO

+0

@Alburkerk在他的回答中覆蓋了它很好,所以我只是有一個附註:在$ http服務上使用'success'和'error'已被棄用,因爲它們不返回承諾,因此不連鎖。改用'then'。 –

回答

2

我認爲你需要了解更多關於角結構第一..

看看約翰·帕帕準則(易找到),瞭解什麼應該是控制者或不控制。

控制器被製成與視圖/狀態相關聯,即一個大的組件。所以它不可能只與一個複選框相關聯(因爲它畢竟只是一個布爾值)。

它只需要從多個端點調用一個http請求,看看服務或工廠的用途。只需在工廠中定義您的http請求,並從多個控制器中調用它。

如果你真的需要在不同的控制器之間花費消息,這不可能是你的問題描述,你可以使用$ scope文檔並搜索$ scope.emit,$ scope.broadcast等。

這是他們的使用example。但正如我所說,先了解更多。

相關問題