我有以下模板

<div>
    <div ng-repeat="item in items">
        <div>
        <p><button ng-click="editItem()">Edit</button></p>
    </div>
        <div class="span10">
        <input type="text" value={{item.helpText}} ng-model="question.helpText" required>
        </div>
        <div id="done" ng-show={{item.state}}>
            <div>
                <p><button ng-click="doneEditItem()">Done</button></p>
            </div>
        </div>
    </div>
 </div>  

在我的控制器中,我的代码最初设置了item.state = false ,这会隐藏done div,因此会像启动时所期望的那样“完成”按钮。 editItem()函数中,当用户单击“编辑”按钮时,我具有用于设置item.state = true的代码。

我期望当我设置item.state = true时, doneEditItem按钮将再次变为可见。 目前这还没有发生。 我应该调用一些angularjs函数,以在设置item.state=true后使完成按钮可见吗?

===============>>#1 票数:1 已采纳

ng-show与许多Angular指令一样,采用Angular表达式 该表达式是根据当前范围求值的,因此不需要{{}} -实际上,在需要Angular表达式的地方不能使用它们。 因此,请使用ng-show="item.state"而不是ng-show={{item.state}}

当您希望Angular编译器插入某些内容时,可以在HTML的其他位置使用{{}}。 例如<p>Hello {{name}}</p>

  ask by epocolis translate from so

未解决问题?本站智能推荐: