在HTML中调用函数

时间:2014-07-28 16:40:01

标签: javascript html angularjs function

我试图获得一个函数来调用html,我似乎无法弄明白。我使用angularJS,我尝试过使用onClick = "function();"ng-click = "function();" 这是我的代码:
HTML:

<button ng-hide="tableAttrs.hide" onclick="moveToLoc()">Search</button>

JS:

function moveToLoc() {
    siteId = document.getElementById('input').value;
    alert(siteId);
    map.panTo(siteId);
    tableAttrs.hide = !tableAttrs.hide;
  }

在控制台中我收到错误:Uncaught ReferenceError: moveToLoc is not defined
我做错了什么???

2 个答案:

答案 0 :(得分:0)

尝试按照angularJS文档:

https://docs.angularjs.org/api/ng/directive/ngClick

您可以将ngClick属性添加到按钮对象,如下例所示:

<button ng-click="count = count + 1" ng-init="count=0">
  Increment
</button>

最诚挚的问候,

答案 1 :(得分:0)

如果您的moveToLoc()在控制器中,则需要将其绑定到$scope - 否则您的观点无法了解它。

所以在您的控制器中使用:

$scope.moveToLoc = function() {
    //code
  }

并在您的视图中使用:

<button ng-hide="tableAttrs.hide" ng-click="moveToLoc()">Search</button>

除此之外,如果moveToLoc()在控制器中,那么你也在混合DOM和业务逻辑。像siteId = document.getElementById('input').value之类的东西不应该在你的控制器中。