我有一個簡單的形式,像這樣:角 - 清除表單輸入後提交
<form name="add-form" data-ng-submit="addToDo()">
<label for="todo-name">Add a new item:</label>
<input type="text" data-ng-model="toDoName" id="todo-name" name="todo-name" required>
<button type="submit">Add</button>
</form>
與我的控制器如下:
$scope.addToDo = function() {
if ($scope.toDoName !== "") {
$scope.toDos.push(createToDo($scope.toDoName));
}
}
什麼,我想要做的是明確的文本輸入提交後,所以我只需清除模型值:
$scope.addToDo = function() {
if ($scope.toDoName !== "") {
$scope.toDos.push(createToDo($scope.toDoName));
$scope.toDoName = "";
}
}
除了現在,因爲「需要」的形式輸入我避開噸紅色邊框他形成投入。這是正確的行爲,但不是我在這種情況下想要的......所以我想清除輸入,然後模糊輸入元素。這使我:
$scope.addToDo = function() {
if ($scope.toDoName !== "") {
$scope.toDos.push(createToDo($scope.toDoName));
$scope.toDoName = "";
$window.document.getElementById('todo-name').blur();
}
}
現在,我知道,這樣從控制器修改DOM是於角文檔中皺起了眉頭 - 但有沒有這樣做的多棱角的方式?
謝謝!儘管我仍然需要清除模型,但$ setPristine()很好地處理了模糊。 'add-form'似乎可行,我可以用$ scope ['add-form']而不是點符號來訪問它。 – leepowell
是的,清理模型總是必須的,因爲$ setPristine不知道你的模型。謝謝你讓我知道這個名字!錯過了完全認爲我不應該有的:) –
t = {};噸。foo-bar =「baz」; ReferenceError:分配中無效的左手邊 –