Javascript 更新“选择”下拉列表时不更新ng模型
为什么当我更改header.html中的select选项时(该选项已包含在index.html中,如下所示):Javascript 更新“选择”下拉列表时不更新ng模型,javascript,html,angularjs,Javascript,Html,Angularjs,为什么当我更改header.html中的select选项时(该选项已包含在index.html中,如下所示): <div ng-include="'views/templates/header.html'"></div> main service.js vm.menNewArrivals = {}; vm.currencyTypes = MainService.getCurrencyTypes(); vm.selectedCurrency = vm.currencyT
<div ng-include="'views/templates/header.html'"></div>
main service.js
vm.menNewArrivals = {};
vm.currencyTypes = MainService.getCurrencyTypes();
vm.selectedCurrency = vm.currencyTypes[0];
MainService.getMenNewArrivals().then(function(result) {
vm.menNewArrivals = result.data.menNewArrivals;
});
function getCurrencyTypes()
{
var currencyTypes = ['GBP', 'USD', 'EUR'];
return currencyTypes;
}
有两种方法可以解决这个问题
ng controller=“MainController as vm”
,您的头html有自己的ng控制器
,它正在再次创建另一个MainController
实例。这意味着头有自己的作用域,不同于main.html
的MainController
控制器,所选值存储在新的控制器实例中。删除ng控制器
fromheader.html
将解决您的问题,通过删除它,header html将可以访问主html控制器范围selectedCountry
将保存在可共享数据服务中谢谢,2)中服务的代码是什么样子的?
vm.menNewArrivals = {};
vm.currencyTypes = MainService.getCurrencyTypes();
vm.selectedCurrency = vm.currencyTypes[0];
MainService.getMenNewArrivals().then(function(result) {
vm.menNewArrivals = result.data.menNewArrivals;
});
function getCurrencyTypes()
{
var currencyTypes = ['GBP', 'USD', 'EUR'];
return currencyTypes;
}