猿问

如何给directive添加一个默认属性?

我自己有个指令叫做keyboard,就是键盘了,键盘上面按键分两种:数字和非数字。我想通过下面的代码,让keyboard只显示数字部分,把非数字都隐藏了。

// index.html<keyboard onlynumber="true"></keyboard>// directive.js// 下面我用了@不行,用=也不行,请懂的人顺便解释下function keyboardNumber() {var directive = {
    restrict: 'EA',
    scope: {
      onlynumber: '='
    },
    templateUrl: 'keyboard.html',
    replace: true
  };  return directive;
}// keyboard.html<div class="keyboard">...
  <div data-ng-hide="onlynumber"></div>
...
</div>

却没能隐藏,上网搜,我也不知道搜什么关键词(真是要命),结果搜到stack overflow有个哥们情况跟我类似,虽然问题没解决,但是有个回答给了我些启发:如果你的值是不变的,那你可以只写属性

<keyboard onlynumber></keyboard>

这样写看起来更简洁好看,然而我还是不知道怎么做,聪明的你,能告诉我怎么做吗,多谢


料青山看我应如是
浏览 513回答 2
2回答

FFIVE

<keyboard&nbsp;onlynumber></keyboard>这种在解析的时候会被认为是这种形式:<keyboard&nbsp;onlynumber=""></keyboard>如果你只是希望给指令配置一个默认值的话,在指令内部取onlynumber这个参数的时候设定就可以了,没必要在前面搞。

智慧大石

scope.onlynumber&nbsp;=&nbsp;scope.onlynumber&nbsp;==&nbsp;null&nbsp;?&nbsp;true&nbsp;:&nbsp;scope.onlynumber;
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答