设置由 ng-if 隐藏的文本框的值

Set Value of Textbox Hidden by ng-if

有没有办法设置被 ng-if 隐藏的文本框的值?

我有一个文本区域,我想在页面加载时预先填充它:

<textarea id="envConfigJson" rows="5" class="form-control"
                          placeholder="Configuration json" ng-keyup="editConfigEnv()"
                          ng-disabled='!selectedConfigurationEnv'></textarea>

在预填充时,textarea 的父级通过 ng-if 隐藏。有没有办法设置这个文本区域的值,即使它在页面中是隐藏的?我能够通过 jquery:

确认将正确的值分配给了 val 属性
$('#envConfigJson').val("correct value here"); 

如果这不可能,我会很乐意重新考虑我的人口逻辑。

您需要做的就是设置范围模型值并在 textarea 上使用 ngModel 指令。所以它将是:

<textarea id="envConfigJson" rows="5" class="form-control"
          placeholder="Configuration json" 
          ng-model="textModel"
          ng-keyup="editConfigEnv()"
          ng-disabled='!selectedConfigurationEnv'></textarea>

现在,当父级 ngIf 显示 textarea 时,您会看到它预填充了 textModel 模型提供的值。

演示: http://plnkr.co/edit/4D4O6b9BQSDMXEBKFAX3?p=preview

在我的特殊情况下,我需要用 ng-if 代替 ng-show

这允许我的内容呈现在屏幕上但隐藏。 ng-if 阻止内容完全呈现。