javascript - 如何给directive添加一个默认属性
怪我咯
怪我咯 2017-04-10 16:19:11
[JavaScript讨论组]

我自己有个指令叫做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
<p class="keyboard">
...
  <p data-ng-hide="onlynumber"></p>
...
</p>

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

<keyboard onlynumber></keyboard>

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

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
迷茫

答案提交后,发现我第一种写法是可以将true传到指令模板的,但是

<keyboard onlynumber></keyboard>

这种有人知道怎么实现吗

ringa_lee
<keyboard onlynumber></keyboard>

这种在解析的时候会被认为是这种形式:

<keyboard onlynumber=""></keyboard>

如果你只是希望给指令配置一个默认值的话,在指令内部取onlynumber这个参数的时候设定就可以了,没必要在前面搞。

伊谢尔伦
scope.onlynumber = scope.onlynumber == null ? true : scope.onlynumber;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号