数据绑定到文本区域和ng显示问题

data binding to text area and ng-show issue

本文关键字:ng 显示 问题 区域 文本 数据绑定      更新时间:2023-09-26

我似乎在绑定到文本区域的数据方面遇到了问题。这看起来很奇怪,因为同样的方法适用于其他输入类型,但不想适用于文本区域。我找不到任何文件表明在角度和文本区域有什么特别的不同。

我正在做这个-

<textarea rows="4" ng-model="assessments.prereqs" ng-show="editorEnabled"></textarea>
    <p ng-show="!editorEnabled">{{assessments.prereqs}}</p>

我遇到的问题是,当我将editorEnabled切换到off时,文本区域将隐藏,并且<p>中不显示任何内容。

如果我这样做,文本会显示,但当我用editorEnabled触发ng show关闭时,文本会消失。-

<textarea rows="4" ng-model="assessments.prereqs" ng-show="editorEnabled"></textarea>
    {{assessments.prereqs}}

这看起来很奇怪,因为这个方法可以很好地处理其他各种输入,但不能处理文本区域。对此有什么见解吗?

谢谢!

这是一个正在工作的plunkr:http://plnkr.co/edit/le38sGWTmQbFWB6ndRcM

textarea没有什么特别之处,只是它们可以是多行,并且其中包括需要用<br>替换的'n才能在HTML中正确显示。我提供的例子没有集成这一点,但你可以在另一个SO问题中找到实现这一点的指令:AngularJS:使用多行向文本区域写入和从文本区域读取

回到你的问题:

控制器:

.controller('myCtrl', function ($scope) {
    $scope.editorEnabled = true;
    $scope.assessments = {
        prereqs: 'It works !'
    };
});

以及HTML:

<div ng-controller="myCtrl">
    <div ng-click="editorEnabled = !editorEnabled">Toggle</div>
    <textarea rows="4" ng-model="assessments.prereqs" ng-show="editorEnabled"></textarea>
    <p ng-show="!editorEnabled">{{assessments.prereqs}}</p>
</div>