如何在没有ng-click的情况下调用函数

时间:2017-08-09 21:49:40

标签: angularjs angularjs-ng-click

如何在没有ng-click的情况下调用angularjs中的函数。我尝试过ng-show,但我的功能一次又一次地运行。谁能帮我。 基本上我想要在没有ng-click的情况下提交功能。

    <button ng-show="Temp" ng-click="TemplateE5()"> </button>  

我不想要点击。它应该自动启动

<angucomplete-alt id="Te1" placeholder="Please type name of template "
    pause="100"  maxlength="20"  input-changed="test"
    selected-object="Temp" local-data="myTemplate"
    search-fields="NAME" title-field="NAME" minlength="0"
    input-class="form-control form-control-small"
    match-class="highlight">
</angucomplete-alt>

<button ng-show="Temp" ng-click="TemplateE5()"> </button> 

控制器端

    $scope.TemplateE5 = function () {
    $scope.users.Time = $scope.Temp.time;
    $scope.users.Paper= $scope.Temp.paper;}

3 个答案:

答案 0 :(得分:1)

如果您知道ID,则可以从控制器运行它:

$scope.getSessionsForSpeaker(id);

您可以使用ng-init在该元素加载时运行它:

<a ng-init="getSessionsForSpeaker(speaker.id)"></a>

如果要在鼠标悬停在该元素上时运行它,也可以使用ng-mouseover

<a ng-mouseover="getSessionsForSpeaker(speaker.id)"></a>
  

全部取决于您何时想要运行它。

答案 1 :(得分:0)

谢谢大家。我在angucomplete-alt里面使用ng-click它可以工作

<angucomplete-alt id="Te1" ng-click="TemplateE5()"
                  placeholder="Please type name of template "
                  pause="100"  maxlength="20"  input-changed="test"
                  selected-object="Temp" local-data="myTemplate"
                  search-fields="NAME" title-field="NAME" 
                  minlength="0"
                  input-class="form-control form-control-small"
                  match-class="highlight">
</angucomplete-alt>    

答案 2 :(得分:0)

`app.directive('ngEnter', function () {
return function (scope, element, attrs) {
    element.bind("keydown keypress", function (event) {
        if(event.which === 13) {
            scope.$apply(function (){
                scope.$eval(attrs.ngEnter);
            });

            event.preventDefault();
        }
    });
};

});`

在网页上

<input ng-enter="myFunc()" ng-model="..." />