gpt4 book ai didi

javascript - 解析表单之外的 ng-model

转载 作者:行者123 更新时间:2023-11-28 18:07:02 25 4
gpt4 key购买 nike

我有一个 html 文件,其中有 2 个表单元素,其中都包含输入元素。我将使用 ng-if 来选择我需要的表单元素。输入元素绑定(bind)到同一模型。但我无法在表单范围之外解决它。

<form ng-if="some_name == '1'">
<input ng-model="model_name">
</form>

<form ng-if="some_name == '2'">
<input ng-model="model_name">
</form>

{{model_name}} //This is different from the value of either of the input elements
//it has the initial value which i would assign : $model_name = "xyz"; in my associated js file

最佳答案

您无法在表单外部看到这些更改的原因是您正在使用“ngIf”指令添加/删除 DOM,并且“ngIf”指令创建了一个新范围。

有两种快速方法可以解决此问题:1)使用“ngShow”。看下面的例子:

angular.module('app', [])
.controller('HomeController', function($scope) {
$scope.model_name = 'Hi';
$scope.some_name = '1';
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div data-ng-app="app" data-ng-controller="HomeController">

<form ng-show="some_name == '1'">
<input ng-model="model_name">
</form>

<form ng-show="some_name == '2'">
<input ng-model="model_name">
</form>

{{model_name}}

</div>

2)使输入模型成为一个对象,而不是基元。

angular.module('app', [])
.controller('HomeController', function($scope) {
$scope.model_name = {
value: 'Hi'
};
$scope.some_name = '1';
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div data-ng-app="app" data-ng-controller="HomeController">

<form ng-if="some_name == '1'">
<input ng-model="model_name.value">
</form>

<form ng-if="some_name == '2'">
<input ng-model="model_name.value">
</form>

{{model_name.value}}

</div>

关于javascript - 解析表单之外的 ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42367503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com