2017-03-23 49 views
0

我无法理解$ scope.search在做什么,比如,当它设置等于函数时它正在做什么?而且,如果我想以其他方式做,我该怎么做?
(我使用的角度JS,1.6版本)

$scope.search = function(){ 
        query.get($scope.username , { 
         success: function(gameScore) { 
          console.log(gameScore); 
          return gameScore; 
         }, 
         error: function(object, error) { 
          console.log("Sorry, this user does not exist yet"); 
         } 
        }); 
       }; 
+0

请参阅[为什么不推荐使用角度$ http成功/错误方法?从v1.6中删除?](http://stackoverflow.com/q/35329384/5535245) – georgeawg

+1

名为'search'的$ scope属性被分配了对匿名函数的引用。请参阅[MDN JavaScript参考 - 函数表达式](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function) – georgeawg

回答

0

您可以在控制器中的任何地方拨打$scope.search()。您也可以在使用该控制器的模板中的任何元素上执行类似ng-click=search()的操作。

调用$scope.search()将返回gameScore或将错误消息打印到控制台。

+0

但如果我删除它,并让函数()发生错误 –

+0

你不能只有一个独立的功能,它需要设置为某些东西。 –

+0

实际上调用该函数将永远不会返回任何东西 – Bergi

0

不知道这个功能是写在一个普通控制器或组件控制器 由于您使用的是1.6 柜面作为一个组件控制器,可以将这个功能附加到组件控制器,并在您的模板或组件

使用
angular.module('app',[]) 
.component('testComponent', { 
    bindings: {}. 
    tempalate:'<div>$ctrl.getValue()</div>', 
    controller: function(){ 
     var ctrl = this; 
     ctrl.getValue = function() { 
     console.log('log your value'); 
    } 
    } 
}); 
+0

嗯,我会看看如果这样的作品,谢谢:) –