입력 필드 값을 AngularJS $ Resource로 전달하여 알 수없는 범위 제공자를 표시합니다.
-
02-01-2020 - |
문제
======================================================================
업데이트 1 고정 코드는
의 새로운 오류를 생성합니다.ReferenceError: inputName is not defined
.
라인의
.
inputName:inputName,
아래의 새 코드
<script src="/library/angularjs/1.2.0-rc.3/angularjs.js"></script>
<script src="/library/angularjs/1.2.0-rc.3/angular-route.js"></script>
<script src="/library/angularjs/1.2.0-rc.3/angular-resource.js"></script>
<script>
var app= angular.module('myApp', ['ngRoute', 'ngResource']);
app.factory('Greeter', ['$resource',function($resource){
return $resource(
'http://123.com/processor.php',
{
inputName:inputName,
callback: 'JSON_CALLBACK'
},
{
query: {method:'GET',isArray:true}
});
}]);
app
.controller('MyCtrl', ['$scope', 'Greeter',
function($scope,Greeter){
/*alert("yes");*/
$scope.greet = function(){
//alert("greetttt");
alert("before greeeter"+$scope.inputName);
Greeter.query(
{inputName:$scope.inputName},
function(response){
alert(response[0].myCodeId);
$scope.output=response[0].myCodeId;
}
);
};
}]);
</script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
Your name:
<input type="text" ng-model="inputName" name="myInput" value="World"/>
<button ng-click="greet()">greet</button>
<div>
Test Output Here
{{output}}
</div>
</div>
</div>
.
나는 어디에서 틀렸어?
감사합니다
해결책
http://plnkr.co/edit/ckgwrson3ibmugrkdx5p?p=preview <./ P>
다른 사람들이 의견을 지적했다는 것을 고정시키는 몇 가지 문제가 있습니다.
공장에서 $ Scope를 제거하십시오.여기서는 일반 $ Scope 객체를 얻지 만 실제 범위는 아닙니다.컨트롤러에서 사용할 수 있습니다. 쿼리가있는 각 자원을 호출 할 때 첫 번째 인수는 이미 매개 변수입니다.전에했던 것처럼 공통 매개 변수를 지정할 수 있습니다.
function($resource) {
return $resource('mocked-resource.json', {
callback: 'JSON_CALLBACK'
}, {
query: {
method: 'GET',
isArray: true
}
});
.
희망이 도움이됩니다.
다른 팁
inputName:inputName,
.
두 번째 inputName 기존 변수를 참조하지 않습니다.나는이 줄을 전혀 제거 할 수 있다고 생각합니다.그러나 그것은 당신이 달성하고자하는 것에 달려 있습니다.
제휴하지 않습니다 StackOverflow