gpt4 book ai didi

javascript - Angular 在选择选项中插入随机不需要的跨度

转载 作者:行者123 更新时间:2023-11-28 05:47:21 26 4
gpt4 key购买 nike

我使用 rorymadden.date-dropdowns 作为日期下拉列表,其中包括一个绑定(bind)到月份数组的简单选择:

    <select name="dateFields.month" data-ng-model="dateFields.month" placeholder="Month" class="form-control" ng-options="month.value as month.name for month in months" ng-change="checkDate()" ng-disabled="disableFields">
<option ng-show="!dateFields.month" value="" translate="yes">#Apply.Month</option>
</select>

这将打印此 HTML:

<select name="dateFields.month" data-ng-model="dateFields.month" placeholder="Month" class="form-control ng-valid ng-dirty ng-valid-parse ng-touched" ng-options="month.value as month.name for month in months" ng-change="checkDate()" ng-disabled="disableFields">
<option ng-show="!dateFields.month" value="" translate="yes" class="ng-hide" selected="selected"><span class="ng-scope">Month Test</span></option>
<option value="number:1" label="January">January</option>
<option value="number:2" label="February">February</option>
<option value="number:3" label="March">March</option>
<option value="number:4" label="April">April</option>
<option value="number:5" label="May">May</option>
<option value="number:6" label="June">June</option>
<option value="number:7" label="July">July</option>
<option value="number:8" label="August">August</option>
<option value="number:9" label="September">September</option>
<option value="number:10" label="October">October</option>
<option value="number:11" label="November">November</option>
<option value="number:12" label="December">December</option>
</select>

现在我想在选项中插入一个属性“translate”以使月份可翻译。

所以我将选择更改为:

<select name="dateFields.month" data-ng-model="dateFields.month" placeholder="Month" class="form-control" ng-change="checkDate()" ng-disabled="disableFields">
<option ng-show="!dateFields.month" value="" translate="yes">#Apply.Month</option>
<option ng-repeat="month in months" value="{{month.value}}" translate="yes">{{month.name}}</option>
</select>

但现在我突然插入了随机跨度,这破坏了翻译功能。生成的 HTML 是这样的:

<select name="dateFields.month" data-ng-model="dateFields.month" placeholder="Month" class="form-control ng-valid ng-dirty ng-valid-parse ng-touched" ng-change="checkDate()" ng-disabled="disableFields">
<option ng-show="!dateFields.month" value="" translate="yes" class="ng-hide"><span class="ng-scope">Month Test</span></option>
<!-- ngRepeat: month in months -->
<option ng-repeat="month in months" value="1" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.January</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="2" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.February</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="3" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.March</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="4" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.April</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="5" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.May</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="6" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.June</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="7" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.July</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="8" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.August</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="9" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.September</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="10" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.October</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="11" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.November</span></option>
<!-- end ngRepeat: month in months -->
<option ng-repeat="month in months" value="12" translate="yes" class="ng-scope"><span class="ng-binding ng-scope">#Common.December</span></option>
<!-- end ngRepeat: month in months -->
</select>

Angular 到底在做什么?为什么?我怎样才能得到我想要的预期输出:

<option ng-repeat="month in months" value="1" translate="yes" class="ng-scope">#Common.January</option>

有什么想法吗?

最佳答案

你也改变了<option>January</option><option>{{month.name}}</option>绑定(bind)到month.name正在为其功能添加跨度。

您的翻译插件可能有一个翻译过滤器,因此请使用它而不是选项上的指令:{{month.name | translate}} 。这还为您提供了正确的翻译字符串(“january”),而不是“{{month.name}}”。

关于javascript - Angular 在选择选项中插入随机不需要的跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38392769/

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