Angularjs 显示隐藏元素时调用函数

Angularjs 显示隐藏元素时调用函数,angularjs,Angularjs,当ng show设置为true且前一个隐藏元素可见时,是否可以在控制器上调用函数?当函数中的元素从隐藏变为可见时,我需要一个指令来运行函数 这是密文。 我需要调用一个函数 您只需将showOrNot范围传递给指令的范围即可。然后$watch在值更改后添加所需的逻辑 简单地说: <my-directive value-to-watch="showOrNot">I need to call a function</my-directive> 您可以在控制器中使用$wat

当ng show设置为true且前一个隐藏元素可见时,是否可以在控制器上调用函数?当函数中的元素从隐藏变为可见时,我需要一个指令来运行函数


这是密文。
我需要调用一个函数

您只需将
showOrNot
范围传递给指令的范围即可。然后
$watch
在值更改后添加所需的逻辑

简单地说:

<my-directive value-to-watch="showOrNot">I need to call a function</my-directive>

您可以在控制器中使用$watch,以便在函数为true时调用该函数

  <my-directive content="showOrNot"> I need to call a function </my-directive>

.directive('myDirective', function() {
  return {
    restrict: 'E',
    scope: {
      content: '=',
    }
    link: function (scope, element) {
      scope.$watch('content', function (newvalue, oldvalue) {
       if(newvalue == true)
       {
          //your function here
       }
     });
     }
  }
}
我需要调用一个函数
.directive('myDirective',function(){
返回{
限制:'E',
范围:{
内容:“=”,
}
链接:功能(范围、元素){
范围.$watch('content',函数(newvalue,oldvalue){
if(newvalue==true)
{
//你在这里的职能
}
});
}
}
}

您可以这样编写。

您可以使用ng init调用函数,并在以下示例中使用ng:

var-app=angular.module('app',[]);
app.controller('Demo',['scope',Demo]);
功能演示($scope){
$scope.showOrNot=false;
$scope.Show=函数(){
$scope.showOrNot=true;
警报(“显示”);
}
$scope.hello=函数(){
警报(“函数调用!”);
}
}

这是密文。
点击

您可以使用ng init调用function.No。它不会触发。
  <my-directive content="showOrNot"> I need to call a function </my-directive>

.directive('myDirective', function() {
  return {
    restrict: 'E',
    scope: {
      content: '=',
    }
    link: function (scope, element) {
      scope.$watch('content', function (newvalue, oldvalue) {
       if(newvalue == true)
       {
          //your function here
       }
     });
     }
  }
}