#angularjs
#angularjs
Вопрос:
Я совсем новичок в angular. Что меня смущает, так это то, что следующий код показывает пустые кнопки (редактировать / удалять), даже если он выглядит пустым (при запуске) :
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body ng-app="myApp" ng-controller="todoCtrl">
<h2>todo</h2>
<form ng-submit="todoAdd(item)">
<input type="text" ng-model="todoInput" size="50" placeholder="Add New">
<input type="submit" value="Add New">
</form>
<br>
<div ng-repeat="x in todoList">
<span ng-bind="x.todoText"></span><button id="#edit" ng-click="edit(item)">edit</button><button ng-click="remove(item)">delete</button>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('todoCtrl', function($scope) {
$scope.todoList = [{}];
$scope.todoAdd = function(item) {
$scope.todoList.push({todoText:$scope.todoInput);
$scope.todoInput = "";
};
$scope.remove = function(item) {
var index = $scope.todoList.indexOf(item);
$scope.todoList.splice(index, 1);
};
$scope.edit = function(item) {
//function
};
});
</script>
</body>
</html>
А также может ли кто-нибудь помочь мне после нажатия на редактировать, чтобы ввести todoText для ввода и изменить заголовок addnew для сохранения? и после этого измените его на AddNew снова?
Большое вам спасибо
Комментарии:
1. Вы запрашиваете Angular2 или AngularJS? Это похоже на код AngularJS, но вы использовали тег angularjs и написали Angular2 в своем вопросе…
Ответ №1:
Заменить строку
$scope.todoList = [{}];
Для
$scope.todoList = [];
Тогда он не покажет вам пустую строку.
//Full code.
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body ng-app="myApp" ng-controller="todoCtrl">
<h2>todo</h2>
<form>
<input type="text" ng-model="todoInput" size="50" placeholder="Add New">
<input type="button" value="{{actionName}}" ng-click="todoAdd()" />
</form>
<br>
<div ng-repeat="x in todoList">
<span>{{x.todoText}}</span><button id="#edit" ng-click="edit(x)">edit</button><button ng-click="remove(item)">delete</button>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('todoCtrl', function($scope) {
$scope.todoList = [];
$scope.actionName = 'Add';
$scope.todoAdd = function() {
if($scope.actionName === 'Add'){
$scope.todoList.push({todoText:$scope.todoInput});
$scope.todoInput = "";
} else {
var index = $scope.todoList.indexOf($scope.temp);
console.log('index: ' index);
$scope.todoList.splice(index, 1, {todoText:$scope.todoInput});
$scope.actionName = 'Add';
}
};
$scope.remove = function(item) {
var index = $scope.todoList.indexOf(item);
$scope.todoList.splice(index, 1);
};
$scope.edit = function(item) {
$scope.todoInput=item.todoText;
$scope.temp = item;
$scope.actionName = 'Save';
};
});
</script>
</body>
</html>
Комментарии:
1. вау. отлично. и что насчет этого редактирования? Можете ли вы дать мне подсказку, пожалуйста?
2. Просто чтобы изменить содержимое «ЗАДАЧИ TODO»
3. ОК. Я попробую.
4. Не могли бы вы, пожалуйста, создать jsfiddle этого?
5. это то, что я хотел? 🙂 и как после этого сделать отредактированный ввод пустым? 🙂