Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ng类显示隐藏元素的Angular指令_Javascript_Angularjs - Fatal编程技术网

Javascript 使用ng类显示隐藏元素的Angular指令

Javascript 使用ng类显示隐藏元素的Angular指令,javascript,angularjs,Javascript,Angularjs,我想在mouseenter上显示隐藏指令模板中的元素。 这是我的指示: angular.module('myApp') .directive("addToRoutes",['$http', '$timeout', function($http, $timeout) { return { template: '<div><a class="btn btn-default btn-round" ng-click="copy()" ng-mouseenter

我想在mouseenter上显示隐藏指令模板中的元素。 这是我的指示:

angular.module('myApp')
.directive("addToRoutes",['$http', '$timeout', function($http, $timeout) { 
    return {
        template: '<div><a class="btn btn-default btn-round" ng-click="copy()" ng-mouseenter="showText()" ng-mouseleave="hideText()">\
            <span class="icon icon-spinner icon-spin hidden" ng-class="{hidden : !loading}"></span>\
            <span class="icon icon-plus"   ng-class="{hidden : (loading || copied)}"></span>\
            <span class="icon icon-check hidden" ng-class="{hidden : !copied}"></span>\
            <span class="hidden" ng-class="{hidden : !showFull}">Nach mein Routen Kopieren</span></a></div>\
        ',
        replace: true,
        restrict: 'AE',
        scope: {},
        link: function($scope, element, attrs) {   
            var routeId = attrs.route;
            $scope.loading = false;
            $scope.copied = false;
            $scope.showFull = true;

            $scope.showText = function(){
                $scope.showFull = true;
            }

            $scope.hideText = function(){
                $scope.showFull = false;
            }

            $scope.copy = function(){

            }

        }
    }
}])
angular.module('myApp')
.directive(“addToRoutes”、[“$http”、“$timeout”,函数($http,$timeout){
返回{
模板:'\
\
\
\
我的名字是科皮耶伦\
',
替换:正确,
限制:“AE”,
作用域:{},
链接:函数($scope,element,attrs){
var routeId=attrs.route;
$scope.loading=false;
$scope.copied=false;
$scope.showFull=true;
$scope.showText=函数(){
$scope.showFull=true;
}
$scope.hideText=函数(){
$scope.showFull=false;
}
$scope.copy=函数(){
}
}
}
}])
显示/隐藏有效,但仅在第二次迭代时有效,因此当我进入时,离开,然后进入。 我感觉它与范围变量有关


我该怎么做呢?

为了在第一次迭代中实现此功能,请将
$scope.showFull
设置为
false

例子: 指令(“addToRoutes”,函数($http,$timeout){ 返回{ 模板:'\ \ \ \ 我的名字是科皮耶伦\ ', 替换:正确, 限制:“AE”, 作用域:{}, 链接:函数($scope,element,attrs){ var routeId=attrs.route; $scope.loading=false; $scope.copied=false; $scope.showFull=false; $scope.showText=函数(){ $scope.showFull=true; } $scope.hideText=函数(){ $scope.showFull=false; } $scope.copy=函数(){ } } } });
啊,没错,这当然有道理。。。啊!谢谢
.directive("addToRoutes", function($http, $timeout) {
  return {
    template: '<div><a class="btn btn-default btn-round" ng-click="copy()" ng-mouseenter="showText()" ng-mouseleave="hideText()">\
            <span class="icon icon-spinner icon-spin hidden" ng-class="{hidden : !loading}"></span>\
            <span class="icon icon-plus"   ng-class="{hidden : (loading || copied)}"></span>\
            <span class="icon icon-check hidden" ng-class="{hidden : !copied}"></span>\
            <span class="hidden" ng-class="{hidden : !showFull}">Nach mein Routen Kopieren</span></a></div>\
        ',
    replace: true,
    restrict: 'AE',
    scope: {},
    link: function($scope, element, attrs) {
      var routeId = attrs.route;
      $scope.loading = false;
      $scope.copied = false;
      $scope.showFull = false;

      $scope.showText = function() {
        $scope.showFull = true;
      }

      $scope.hideText = function() {
        $scope.showFull = false;
      }

      $scope.copy = function() {

      }

    }
  }
});