angularjs - 在angularjs中,为什么ng-model的值在select中保持不变?
问题描述
我有一个简单的表单,用户可以在其中选择一种语言并按保存。的初始值<select>
是网页上的用户语言。
我的控制器中有以下 JS 代码:
$scope.usersLanguage = loadUsersLanguage(); // e.g. "en"
$scope.allLanguages = loadAllLanguages(); // array of all languages
$scope.interviewLanguage = $scope.usersLanguage; // preselecting the drodown
$scope.logThis() = function() {
console.log($scope.interviewLanguage); // Always prints "en"
}
和以下 HTML
<select
ng-model="interviewLanguage"
ng-change="logThis()"
ng-options="language.Id as language.Name for language in allLanguages"
></select>
ng-change
仅用于记录目的。
我的问题是,无论我将语言下拉菜单更改为什么,它总是打印初始值。永不改变。而且我已经仔细检查了数组allLanguages
,它们都有唯一的 ID 和名称。
有任何想法吗?以前类似的 StackOverflow 问题没有帮助。
解决方案
这也可能是一个参考问题。尝试使用$scope.interviewLanguage = angular.copy($scope.usersLanguage);
推荐阅读
- javascript - 在 React Native Web 中调整窗口大小时动态缩放样式的最佳方法是什么?
- node.js - 如何通过 pm2 重新启动节点应用程序并应用新的配置文件?
- yaml - 如何正确配置 Prometheus / Alertmanager 的 Alerting yaml 规则
- python - 在 Ubuntu 18.04 上安装 uwsgi 时出现问题
- php - Laravel 8 没有运行测试
- python - 创建一个空数据框并追加一个新行
- python - YFinance 和数据时间输入
- javascript - 如何找到大于或等于 A 的最小自然数?
- python - TensorFlow 加载保存模型,预测和评估。测试准确率太低?
- java - 为什么这三个注解的调用是一样的?