【问题标题】:Angular renew directive after scope variable change范围变量更改后的角度更新指令
【发布时间】:2015-12-14 15:57:05
【问题描述】:

刚开始使用角度,我遇到了一个小问题。 在我的示例 SirroccoListing 模板中,我有以下内容,Sirrocco 是一个指令:

<h3>All Sirroccos</h3>

<div sirrocco ng-repeat="sirrocco in sirroccos" 
     idx="{{ $index }}"></div>
<div sirrocco ng-model="sirroccoListing.addSirrocco" 
     idx="{{ sirroccos.length }}" 
     add-button="true" 
     class="add-sirrocco"></div>

基本上,我想要的是显示所有 [sirroccos] 并添加另一个稍有不同的 Sirrocco(某种添加按钮)。

[sirroccos](作用域数组)通过 REST 调用加载并且可以更新,效果很好。 问题是,我希望在 [sirroccos] 之后呈现添加按钮 Sirrocco,因为 idx 属性很重要。如何?所以也需要在[sirroccos](数量)变化后重新渲染。

我希望我的意思很清楚,你们可以帮助我。

祝你有美好的一天!

【问题讨论】:

  • 好吧 .. 你可以用一个更好的名字谢谢thingies :)。尝试在按钮上使用 ng-if='thingies.length'
  • 很公平,编辑了我的问题 ;-) ng-if 不起作用,因为我总是想要一个 add-sirrocco 指令,与是否有任何 Sirroccos 无关。
  • 然后在加载 Sirroccos 时在控制器中添加一个变量,加载时设置为 true,完成时设置为 false ...变量为 true 时隐藏按钮

标签: javascript angularjs


【解决方案1】:

idx="{{ sirroccos.length }}"

您正在为 idx 使用一种方式绑定“@”,并且,按值提供您必须在 sirrocco 指令中使用“=”使用双向绑定并删除 {{ }} ,所以,应该是:

> idx="sirroccos.length"

这将允许您使用双向绑定并每次更新 .length。

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多