在項目列表中,單擊項目可使用ng-show="showInput=true"
打開輸入字段。
<div ng-app="myApp" ng-controller="Ctrl">
<li ng-click="showInput=true" ng-repeat="label in labels">{{label}} - ---> show input = {{showInput}}
<form ng-show="showInput" >
<input type=text value={{label}}><button ng-click="saveDate()">save</button>
</form>
</li>
</div>
然而,在save
點擊時,設置showInput=false
形式沒有隱瞞:
angular.module('myApp', [])
.controller('Ctrl', ['$scope', function($scope) {
$scope.labels=["click a", "click b", "click c", "click d", "click e"];
$scope.showInput = false;
$scope.saveData = function(){
$scope.showInput = false;
}
}]);
我懷疑這是一個父/子範圍的問題。任何人都可以指出如何使這項工作?
小提琴:http://jsfiddle.net/supercobra/PUZzZ/
使用saveData($ index)實際上是最好的方式,就像Florian說的那樣。 –