将输入字段值传递到AngularJS $资源未定义和错误显示未知的范围提供者
-
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
我修复了其他人在评论中指出的问题。
从工厂删除$范围。在这里,您正在收到一般的$ scope对象,但不是实际范围。您将在控制器中得到它。 使用查询()调用角资源()第一个参数已经是param。但是您可以指定像以前一样的公共参数。
function($resource) {
return $resource('mocked-resource.json', {
callback: 'JSON_CALLBACK'
}, {
query: {
method: 'GET',
isArray: true
}
});
.
希望这有帮助。
其他提示
inputName:inputName,
.
第二个InputName是指不是现有变量。我认为这条线可以删除。但这取决于你想要实现的目标。
不隶属于 StackOverflow