2015-06-08 57 views
0

我们可以创建一个自定义指令集作为具有所需参数的元素,以便如果这些参数不是由谁曾经想要使用它提供的...那么该指令不能工作?自定义指令要求参数

**JS:** 

app.directive('customDirective', function() { 
    return { 
     restrict: 'E', 
      scope : { 
       data  : "=data", ... 
      } , 
      templateUrl: function(element, attr) { 
       // HTML file path 
      }, 
      .... 
    } 
}); 

的情况是,现在即使这些PARAMS都没有通过,该指令仍然有效并注入的HTML视图。

这是一个有关指令的通用问题,只与此特定案例无关。

回答

0

你可以添加自己的验证在链接功能

app.directive('customDirective', function() { 
    return { 
     restrict: 'E', 
      scope : { 
       data  : "=data", ... 
      } , 
      templateUrl: function(element, attr) { 
       // HTML file path 
      }, 
      link: function(scope, element, attrs){ 
       if(!data){ 
        element.remove(); 
       } 
      } 
    } 
}); 

我不知道是否有一个更正式的方式,虽然

+0

不,我不认为它添加完成后取出DOM是非常有用的,,也许如果它在控制器中,那么我们可以在元素被添加之前验证@Kevin F. – sisimh