使用 angular ng-click 清除 HTML 输入的问题

Issues clearing HTML input with angular ng-click

我想知道为什么我似乎无法使用 ng-click 清除文本框输入。 Here is a plunker example 我能够开始工作,但我在实际应用中遇到了不同的结果。在我的应用程序中,警报触发但实际文本不清晰。关于什么可能会影响这个的任何想法?传递额外的依赖项($rootScopeplayerService)会导致我的应用出现任何问题吗?

如果有帮助,我可以提供更多代码。

.controller('HomeTabCtrl', function ($scope, $rootScope, playerService) {

$scope.yellText = "";
$scope.vote = playerService.voteForPlayer;

$scope.postToSlack = playerService.postToSlack;
$scope.postYellToSlack = playerService.postYellToSlack;
$scope.clearYellText = function() {
  $scope.yellText = "";
  alert("cleared");
}

})


<div class="list list-inset">
    <label class="item item-input">
        <input type="text" placeholder="Type Some Words!" ng-model="yellText" autocomplete="off">
    </label>
</div>
<button class="button button-full button-positive" ng-click="postYellToSlack(selectedPlayer, yellText); clearYellText();">
    Enter text to earn points
</button>

非常感谢您抽出宝贵时间。如果我不清楚或者您需要我提供任何其他信息,请告诉我。

按照此处所述在 ngModel 上使用 $setViewValue https://docs.angularjs.org/api/ng/type/ngModel.NgModelController

所以,在你的情况下

$scope.yellText.$setViewValue('');

参见:https://jsfiddle.net/totLccob/8/

原来我真正需要的是:

this.yellText = "";

而不是:

$scope.yellText = "";