我正在尝试使用ng-if
禁用或启用按钮。
第一个ng-if
按预期工作,如果页面不大于一个,它会禁用该按钮。
第二个ng-if
有效,因为它不会禁用该按钮,但单击该按钮不会增加变量page
,或者如果它增加,则更改不会反映在文本中。
点击它时我没有收到任何错误。
是否与s.pages.length
比较有关?
<div ng-repeat="s in scripts track by $index">
<div ng-click=''>
<b>Name</b>: <input type="text" ng-model="scriptNames[$index]" size="10" /> <input type="button" value='Rename' ng-click='renameScript($index)'/>
</br>
<b>Preview</b>: <textarea ck-editor class="ckeditor" ng-model="s.pages[page].versions[0]" value="{{s.pages[page].versions[0]}}" ></textarea>
</br>
<span ng-if="page > 1">
<input type="button" value='previous page' ng-click='page = page - 1'/>
</span>
{{page+1}}
<span ng-if="page < s.pages.length">
<input type="button" value='next page' ng-click='page = page + 1'/>
</span>
</br>
<input type="button" value='Save Edits' ng-click='updateScript($index)'/>
</br>
</br>
<input type="button" value='Delete Script' ng-click='deleteScript($index)'/>
</div>
</div>
这是另一个发生意外情况的例子。我能够增加页面,但我无法减少页面。
以下代码紧跟上面的代码。他们都访问相同的变量。我不确定这是否会导致问题。
<textarea ck-editor class="ckeditor" ng-model="script[page]" value="{{script[page]}}" rows='10' cols='80'></textarea>
<span ng-if="page+1 > 1">
<input type="button" value='previous page' ng-click='page = page - 1'/>
</span>
{{page+1}}
<input type="button" value='next page' ng-click='page = page + 1'/>
</br>
<input type="button" value='Submit script' ng-click='submitScript()'/>
答案 0 :(得分:0)
ngIf
创建另一个范围。因此,您必须访问page
上的$parent
媒体资源...
<input type="button" value='previous page' ng-click='$parent.page = $parent.page - 1'/>
Jsbin ...... http://jsbin.com/beguhoxo/1/edit?html,js,output