大佬教程收集整理的这篇文章主要介绍了如何调用服务方法从ng的变化的select在angularjs?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<SELEct ng-model="score" ng-change="getscoreData(score)" ng-options="c.name for c in scores"></SELEct>
Angularjs代码:
var app = angular.module('audiapp',[]); app.controller('audiLayoutCtrl',@R_772_1013@,scoreDataservicE) { scoreDataservice.getscoreData($scope.score,function (data) { $scope.scoreData = data; }); }); app.factory('scoreDataservice',function ($http) { return { getscoreData: function (score,callBACk) { var params = { questionCode: score.code } return $http({ url: 'Home/GetAvgData',method: 'GET',params: params }).success(callBACk); } }; });
> ng-change =“getscoreData(score)
Angular没有看到getscoreData方法引用定义的服务
> getscoreData:function(score,callBACk)
我们不需要使用回调,因为GET返回promise。然后改用。
HTML
<SELEct ng-model="score" ng-change="getscoreData(score)" ng-options="score as score.name for score in scores"></SELEct> <pre>{{scoreData|json}}</pre>
JS
var fessmodule = angular.module('mymodule',['ngresource']); fessmodule.controller('fessCntrl',function($scope,scoreDataservicE) { $scope.scores = [{ name: 'Bukit Batok Street 1',URL: 'http://maps.googleapis.com/maps/api/geocode/json?address=Singapore,SG,Singapore,153 Bukit Batok Street 1&sensor=true' },{ name: 'London 8',London 8&sensor=true' }]; $scope.getscoreData = function(score) { scoreDataservice.getscoreData(score).then(function(result) { $scope.scoreData = result; },function(result) { alert("Error: No data returned"); }); }; }); fessmodule.$inject = ['$scope','scoreDataservice']; fessmodule.factory('scoreDataservice',['$http','$q',function($http) { var factory = { getscoreData: function(score) { console.log(score); var data = $http({ method: 'GET',url: score.URL }); return data; } } return factory; }]);
演示Fiddle
以上是大佬教程为你收集整理的如何调用服务方法从ng的变化的select在angularjs?全部内容,希望文章能够帮你解决如何调用服务方法从ng的变化的select在angularjs?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。