【发布时间】:2021-03-19 13:24:14
【问题描述】:
<select data-ng-init="selectedItem='previewWidth = 1920; previewHeight = 1080'" data-ng-model="selectedItem" data-ng-change="GetNewData(); {{selectedItem}}">
<option value="previewWidth = 1920; previewHeight = 1080">1</option>
<option value="previewWidth = 2000; previewHeight = 1060">2</option>
<option value="previewWidth = 2080; previewHeight = 2000">3</option>
</select>
点击另一个目标并忽略第一次点击后,我现在的操作方式(参见示例)会更新。我认为这里的更新出错了。有没有更好的更新方法?
明确一点:我想用 . 更改 2 个 data-ng-model 值。
编辑:
<div id="breedte-edit" class="col-6">Breedte
<input id="input-breedte" type="number" data-ng-value="1920" data-ng-min="600" data-ng-max="8000" data-ng-init="previewWidth='1920'" data-ng-model="previewWidth" class="form-control" required="required" aria-label="Sizing example input" maxlength="5">
</div>
<div id="lengte-edit" class="col-6">Lengte
<input id="input-lengte" type="number" data-ng-value="1080" data-ng-min="600" data-ng-max="5000" data-ng-init="previewHeight='1080'" data-ng-model="previewHeight" class="form-control" required="required" aria-label="Sizing example input" maxlength="5">
</div>
<div id="reset-edit" class="col-4" style="margin-top: auto">
<button type="button" class="btn btn-outline-dark" data-ng-click="GetNewData(); previewWidth = 1920; previewHeight = 1080" value="FETCH">Reset</button>
</div>
以上是需要更改其值的输入
【问题讨论】:
-
我认为 {{selectedItem}} 不属于您的 ng-change 语句。
-
previewWidth 和 previewHeight 应该是控制器中的变量吗?
-
@tbone849 previewHeight 和 previewWidth 是输入数字的 2 ng-model。我可以通过单击按钮来重置它们,但是除了没有 value='FETCH' 并将其放在 ng-click 上而不是 ng-change 之外,我使用 ng-change 的方式。我只想在单击一个选项时更改 2 ng-model 值(例如,选项一将 previewWidth 和 previewHeight 的值更改为 300px,将选项 2 更改为 600px)
-
你不能以你正在做的方式设置变量。您只是将 selectedItem 设置为字符串。如果要动态更改宽度和高度,可以使用多种不同的解决方案。我会将您不同的高度和宽度选项分配给对象或数组。然后你可以使用 ng-change 函数并通过控制器传递值来设置高度和宽度。我现在正在使用移动设备,但如果以后有时间,我可以帮助提供代码示例
标签: javascript html angularjs twitter-bootstrap