【发布时间】:2015-05-13 13:26:22
【问题描述】:
我最近在一些表单中切换了标记以使用 angularJS ui Tabs 组件。标记如下所示:
<div class="col-lg-3 col-md-3 panel-container">
<tabset vertical="true" type="pills">
<tab heading="@Labels.general" select="selectView('general')" >
</tab>
<tab heading="@Labels.passes" select="selectView('guestPasses')">
</tab>
<tab heading="@Labels.history" select="selectView('guestActivity')">
</tab>
<tab heading="@Labels.userDefined 1"
select="selectView('userDefined1')" >
</tab>
<tab heading="@Labels.userDefined 2"
select="selectView('userDefined2')" >
</tab>
</tabset>
</div>
<div class="col-lg-9 col-md-9 panel-container">
<div data-ui-view data-autoscroll="false"></div>
<div data-ui-view="guestPasses" data-autoscroll="false"></div>
</div>
控制器选择视图的代码如下:
$scope.selectView = function (viewName) {
if ($scope.isNew) {
$state.go('new.' + viewName);
}
else {
$state.go('edit.' + viewName);
}
};
除了与原始实现相比的这种行为变化之外,一切似乎都运行良好 - 如果我在其中一个控件中进行了无效输入,则切换到另一个选项卡,然后返回,那个错误的输入就消失了。有效输入被保留。我想知道是否可以以这种方式保留无效输入?
【问题讨论】:
-
查看 allowInvalid 选项 - ng-model-options="{allowInvalid=true}"。 docs.angularjs.org/api/ng/directive/ngModelOptions
-
显然这是 1.4 版本的新增功能 我们使用的是 1.3.13 版本。上次我检查 1.4 处于测试阶段。我可能需要重新检查,你知道它有多稳定吗?再次感谢。
-
我认为它是在 1.3 中添加的,它在 1.3.13 中列为可用:code.angularjs.org/1.3.13/docs/api/ng/directive/ngModelOptions 您必须将此属性添加到您想要允许无效值的任何字段(任何您有ng 模型)。
-
我已经尝试过解析器的错误。由于某种原因它不喜欢它。
-
我可以添加以上内容作为答案。还有一个 SO question 有一个可以在全球范围内应用的选项,它可能更适合您。 stackoverflow.com/questions/21345987/…
标签: javascript html angularjs uiview angular-ui