Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何注册按钮单击以调用返回结果的服务函数?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何注册按钮单击以调用返回结果的服务函数?

Javascript 如何注册按钮单击以调用返回结果的服务函数?,javascript,angularjs,Javascript,Angularjs,我有一个处理数据和返回值的服务,我有一个注册到我的作用域的按钮 有没有办法注册按钮,直接调用服务函数并收集结果 // html <button ng-click="submit()"></button> // controller $scope.submit = MyService.submit(data); // How do I get the returned values? // service var returnValue = "SomeValue"; r

我有一个处理数据和返回值的服务,我有一个注册到我的作用域的按钮

有没有办法注册按钮,直接调用服务函数并收集结果

// html
<button ng-click="submit()"></button>

// controller
$scope.submit = MyService.submit(data); // How do I get the returned values?

// service
var returnValue = "SomeValue";
return returnValue;
将MyService作为承诺获取

参见plunker

HTML


没有。这就是为什么我们有控制器。我刚刚意识到我可以在那里创建一个提交和调用服务的函数。等等,你是说一个简单的JavaScript函数?打破了这个目的
// controller
$scope.submit = function()
{
   var results = MyService.submit(data);
}
$scope.submit = MyService.submit(function(data){
  var returnValue =data;
}); // How do I get the returned values?
<button ng-click="getResults();">Get Results</button>
(function(angular) {
  angular.
  module('myServiceModule', []).
  controller('MyController', ['$scope', 'result', function($scope, result) {
    $scope.getResults = function() {
      alert(result);
    };
  }]).
  factory('result', function() {
    var returnValue = "SomeValue";
    return returnValue;
  });
})(window.angular);