Eln*_*naz 2 javascript function angularjs angularjs-controlleras
我使用控制器作为方法而不是 $scope。我在从 HTML 调用方法时遇到一些问题。那么,问题是,这种方法中的声明和调用函数有多少种方法。
首先:(如果我首先想做某事)
var vm= this ;
vm.dataOne=[];
function funcOne() {
myService.serviceFunc()
.then(function (response) {
vm.dataOne= response.data;
});
};
function activate() {
funcOne();
}
activate();
Run Code Online (Sandbox Code Playgroud)
第二:(如果我想根据函数返回值初始化变量)
vm.dataTwo = function () {
doSomeThing();
}
Run Code Online (Sandbox Code Playgroud)
如何在控制器中定义一个从 HTML 调用的函数,如
ng-click = "ctrl.dataTwo()";
Run Code Online (Sandbox Code Playgroud)您定义的函数是私有的:
function functionOne() {
}; // Just function body, no need of semicolon
Run Code Online (Sandbox Code Playgroud)
这些称为函数声明。目前,它们只能在您的控制器中访问。
为了能够调用它们,请将它们附加到控制器,以便它们成为控制器变量:
vm.functionOne = functionOne;
Run Code Online (Sandbox Code Playgroud)
这种方法的一个优点是,您可以在实际调用函数后定义它们,而不是使用$scope
or进行定义$this
。它们通过提升被识别并被调用。
关于初始化函数的返回值,只需调用它:
vm.someVariable = someFunction();
Run Code Online (Sandbox Code Playgroud)
一些参考:
var functionName = function() {} vs function functionName() {}
归档时间: |
|
查看次数: |
46609 次 |
最近记录: |