在AngularJs中向控制器添加功能

时间:2014-01-16 11:34:08

标签: angularjs

我正在尝试在angularJS中为控制器添加功能,我认为这应该是有效的,但遗憾的是没有。

这是我的代码。

//this is working.
$scope.adddata = function () {
    $scope.names.push({name:$scope.newdata.name,city:$scope.newdata.city});
    //$scope.names.push($scope.newdata);
}


//this is not working
function adddata() {
$scope.names.push({name:$scope.newdata.name,city:$scope.newdata.city});
//$scope.names.push($scope.newdata);
}
$scope.adddata = adddata();

上述两个函数都在控制器的定义中,因此$ scope变量可用。

我可以只使用$scope.functionname = functionname(){....}

吗?

或者我可以创建一个函数,然后将其分配给控制器/范围。

2 个答案:

答案 0 :(得分:1)

这样可行:

$scope.adddata = adddata;

而不是:

$scope.adddata = adddata();

不要调用该函数,传递对它的引用。

答案 1 :(得分:1)

执行$scope.adddata = adddata;(没有括号)。使用括号将调用adddata()结果分配给范围变量,该变量未定义(adddata()不返回值)。