我正在尝试在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(){....}
或者我可以创建一个函数,然后将其分配给控制器/范围。
答案 0 :(得分:1)
这样可行:
$scope.adddata = adddata;
而不是:
$scope.adddata = adddata();
不要调用该函数,传递对它的引用。
答案 1 :(得分:1)
执行$scope.adddata = adddata;
(没有括号)。使用括号将调用adddata()
的结果分配给范围变量,该变量未定义(adddata()
不返回值)。