В списке элементов, щелкнув элемент, открывается поле ввода с использованием 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;
}
}]);
Я подозреваю, что это сфера проблема родитель/ребенок. Может ли кто-нибудь указать, как это сделать?
Fiddle: http://jsfiddle.net/supercobra/PUZzZ/
Использование saveData ($ index) было бы лучшим способом, как сказал Флориан. –