웹 페이지의 어느 곳에서나 컨트롤러 구성 요소 외부에서 컨트롤러 아래에 정의 된 함수를 호출하려면 어떻게해야합니까?
"get"버튼을 누르면 완벽하게 작동합니다. 그러나 div 컨트롤러 외부에서 호출해야합니다. 논리는 : 기본적으로 내 사업부는 숨겨져 있습니다. 탐색 메뉴 어딘가에 버튼을 누르면 내 div를 표시하고 "get"기능을 실행해야합니다. 어떻게하면 되나요?
내 웹 페이지는 다음과 같습니다
<div ng-controller="MyController">
<input type="text" ng-model="data.firstname" required>
<input type='text' ng-model="data.lastname" required>
<form ng-submit="update()"><input type="submit" value="update"></form>
<form ng-submit="get()"><input type="submit" value="get"></form>
</div>
내 js :
function MyController($scope) {
// default data and structure
$scope.data = {
"firstname" : "Nicolas",
"lastname" : "Cage"
};
$scope.get = function() {
$.ajax({
url: "/php/get_data.php?",
type: "POST",
timeout: 10000, // 10 seconds for getting result, otherwise error.
error:function() { alert("Temporary error. Please try again...");},
complete: function(){ $.unblockUI();},
beforeSend: function(){ $.blockUI()},
success: function(data){
json_answer = eval('(' + data + ')');
if (json_answer){
$scope.$apply(function () {
$scope.data = json_answer;
});
}
}
});
};
$scope.update = function() {
$.ajax({
url: "/php/update_data.php?",
type: "POST",
data: $scope.data,
timeout: 10000, // 10 seconds for getting result, otherwise error.
error:function() { alert("Temporary error. Please try again...");},
complete: function(){ $.unblockUI();},
beforeSend: function(){ $.blockUI()},
success: function(data){ }
});
};
}
get()
에서 MyController 를 호출 하겠습니까?