Javascript 选择不识别正在进行的更改
我有一个选择使用ng选项。它有4个周期。触发事件后,会发生以下情况:Javascript 选择不识别正在进行的更改,javascript,angularjs,angularjs-select,Javascript,Angularjs,Angularjs Select,我有一个选择使用ng选项。它有4个周期。触发事件后,会发生以下情况: if ($scope.periods.length <= 4) { $scope.periods.push({ IdPeriod: 6, Description: "PERSONALIZADA" }); } setTimeout(() => { sel.options[sel.options.length - 1].selected = true; }, 100); 我正在创建一个新
if ($scope.periods.length <= 4) {
$scope.periods.push({
IdPeriod: 6,
Description: "PERSONALIZADA"
});
}
setTimeout(() => {
sel.options[sel.options.length - 1].selected = true;
}, 100);
我正在创建一个新选项,它不应该从一开始就显示出来。在它之后,有一个很短的超时sel.options[5]在创建它之后似乎没有定义,我选择它显示在select中
问题是,如果我触发创建该选项的事件,并在创建新选项之前重新选择所选的选项,它将不会调用分配给ng change的方法
错误的
setTimeout(() => {
sel.options[sel.options.length - 1].selected = true;
}, 100);
更好
$timeout(() => {
sel.options[sel.options.length - 1].selected = true;
}, 100);
setTimeout中的事件未与AngularJS框架集成
AngularJS通过提供自己的事件处理循环来修改正常的JavaScript流。这将JavaScript分为经典和AngularJS执行上下文。只有在AngularJS执行上下文中应用的操作才会受益于AngularJS数据绑定、异常处理、属性监视等
有关详细信息,请参阅
是的,问题是这个项目在我被雇佣之前就已经完成了。lol。这只是一个功能添加。@beanic typescript是javascript的超集……可以说是糖衣。你会如何用打字机书写if语句?@米开朗基罗显然我没有对if语句这样说。但是看到人们不遵守angularJs文档的规则是非常恼人的。@beanic这似乎是angularJs项目,它主要用于JS。它不是强制用户使用的角度typescript@NachoGonzalezAmpudia我不明白你想做什么。您可以直接说,在创建新选项后,它不起作用,然后单击已单击的选项。当您两次单击同一选项时,它不会检测到更改,因为没有更改。当您从一个选择选项更改为另一个选择选项时,将触发更改。我建议你分享你所有的代码和HTML,否则我们无法理解你想做什么,请在或类似的网站上做一个小演示。