Angular textarea 不能用默认值填充

Posted

技术标签:

【中文标题】Angular textarea 不能用默认值填充【英文标题】:Angular textarea can't be filled with default value 【发布时间】:2017-01-28 08:33:25 【问题描述】:

我正在尝试为我的 Angular 文本区域设置一个默认值。我想我尽了一切可能。没有任何效果。我有一个 html 模板

<textarea ng-model="title" required class="textbox" id="feedbackInput" ng-init="title= initvalue"></textarea>

连接到组件\控制器:

angular
    .module('feedbackForm')
    .component('feedbackForm', 
        templateUrl: 'feedback-form/feedback-form.template.html',
        controller: ['$scope', '$routeParams', 'Feedback', '$localStorage',
            function FeedbackFormController($scope, $routeParams, Feedback, $localStorage) 
                console.log('FeedbackForm Controller');
                var self = this;
                var feedback = "";
                $scope.initvalue = "hhhhhh";
            
        ]
    );

它不起作用。它没有填满我的文本区域。我尝试使用 this,self,$ctrl... 任何想法如何在我的 textarea 中设置默认值,而无需过多地更改控制器。

【问题讨论】:

在将一些默认值放入您的文本区域之前,请考虑使用 placeholder 属性来指导您的用户。否则,请检查以下答案。在任何地方使用它之前,请阅读有关ng-init 的文档。 我不想要占位符。我想要文本区域中的实际可编辑文本 你能给我一个选择这个解决方案的充分理由吗? 我想要一个页面,我的用户可以在其中添加反馈,但如果他们已经给出了反馈,我希望他们能够编辑它而不是仅仅写另一个。这是为了面试反馈 下面是一个非常小的例子:JSFiddle。不需要 ng-init。只需删除此属性。剩下的我认为你可以做到! 【参考方案1】:

您需要在相应控制器中将默认值设置为 textarea 的 ng-model 或使用 ng-init。

示例(使用 ng-init):

<textarea ng-init='foo="Some default value"' ng-model='foo'></textarea>

或(不使用 ng-init):

<textarea ng-init='foo="Some default value"'>foo</textarea>

【讨论】:

你读过我的代码吗?因为这就是我尝试过的。我设置了一个 ng-model,我也尝试使用 ng-init。他们只是不工作,所以我可能做错了什么【参考方案2】:

这样试试

<textarea ng-model="title" required class="textbox" id="feedbackInput" ng-init="title= 'initvalue'"></textarea>

或在控制器中尝试这样

$scope.title='Default value'

希望对你有帮助

【讨论】:

我都试过了。第一个在文本区域中打印字符串“initvalue”,这不是我想要的。第二个在我的文本区域中没有任何内容。【参考方案3】:

我想你要找的是placeholder?

【讨论】:

我不想要占位符。我想要文本区域中的实际可编辑文本

以上是关于Angular textarea 不能用默认值填充的主要内容,如果未能解决你的问题,请参考以下文章

如何使 textarea 元素填充整个父 div 网格框(使用 angular-gridster2 或 gridster 库)?

使用 ng-model 后缺少 textarea 的默认值

textarea的价值?怎么填一个?

用JQuery的text()方法赋值的问题

通过 ngModel Binding 设置值时如何在 textarea 上触发更改事件

在h5中的textarea中显示默认的汉字用啥属性