angularjs – 将ng-attr绑定到模型的Angular指令

前端之家收集整理的这篇文章主要介绍了angularjs – 将ng-attr绑定到模型的Angular指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
All code and preview in plunker

我想将属性双重绑定到指令范围并从外部更改该属性
它改变了指令中的内容.

<body ng-app="paneApp" ng-controller="AppCtrl">

  <div class="btn-group">
    <button type="button" class="btn btn-primary" ng-model="pane.a" btn-checkBox>A</button>
    <button type="button" class="btn btn-primary" ng-model="pane.b" btn-checkBox>B</button>
    <button type="button" class="btn btn-primary" ng-model="pane.c" btn-checkBox>C</button>
    <button type="button" class="btn btn-primary" ng-model="pane.d" btn-checkBox>D</button>
  </div> 

  Visible: {{pane.a}} {{pane.b}} {{pane.c}} {{pane.d}}

  <pane-container>
    <pane ng-attr-hidden="{{pane.a}}">A</pane>
    <pane>B</pane> 
    <pane>C</pane>
    <pane>D</pane>
  </pane-container>
</body>

这里的错误是:

Error: [$parse:Syntax] Syntax Error: Token 'pane.a' is unexpected,expecting [:] at column 3 of the expression [{{pane.a}}] starting at [pane.a}}].

如果没有在attirbute中使用表达式,则所有表达式都按预期工作:

<pane ng-attr-hidden="{{pane.a}}">A</pane>

编辑:

此示例按预期工作:preview in plunker

解决方法

我假设ng-attr-hidden需要一个角度表达式,但是你给它一个对象定义.
尝试删除{{}}

<pane ng-attr-hidden="pane.a">A</pane>

猜你在找的Angularjs相关文章