Javascript 我可以在控制台中打印值,但不能在html视图中打印
我是新手。我试图在下拉列表中显示数据,但输出来自控制台,而不是html视图 html:-Javascript 我可以在控制台中打印值,但不能在html视图中打印,javascript,html,angularjs,Javascript,Html,Angularjs,我是新手。我试图在下拉列表中显示数据,但输出来自控制台,而不是html视图 html:- <select ng-model="billing.billing" ng-options="billing in billAddress track by $index"> </select> <p>{{billing.billing}}</p> 控制台中出现错误: 账单地址测试:美国加利福尼亚州弗里蒙特 错误:[ngOptions:iexp]应为“选
<select ng-model="billing.billing" ng-options="billing in billAddress track by $index">
</select>
<p>{{billing.billing}}</p>
控制台中出现错误:
账单地址测试:美国加利福尼亚州弗里蒙特
错误:[ngOptions:iexp]应为“选择(作为标签)”形式的表达式?对于(键,)?集合中的值,但获得了“按$index在billAddress跟踪中计费”
我不明白如何解决select和ng选项错误。若值出现在控制台上,那个么为什么它不显示在html下拉列表中。请帮帮我。这行不行:
{{billing.billing}
因为p
超出了select->options
只是一个片段来说明
首先,您的
$scope.billAddress
应该是一个集合,而不是单个字符串。按如下方式重构代码:
.then(function(data){
if (!data) {
// handling this case may vary; here I just clear the collection
$scope.billAddress = [];
return;
}
storeLocally.set('shipInfo', data);
$scope.billAddress = data.map(function(address) {
return {
billing: address.city + ', ' + address.state + ', ' + address.country
};
});
});
其次,您需要修复ng选项
语法。一种可能的方式:
<select ng-model="selectedBilling" ng-options="billing.billing for billing in billAddress track by $index">
<p ng-bind="selectedBilling.billing"></p>
看起来您总是将其设置为列表中的最后一个。我不知道那是不是故意的。。如果有,请告诉我 但听起来你想在每个项目上设置账单地址,然后用它作为标签?如果在for循环data.billAddress=。。。并使用下面的选择键
<select ng-model="selectedBilling"
ng-options="billing as billing.billingAddress for billing in billAddress track by $index">
{{selectedBilling}
用fiddle/plunkr重现问题请首先$scope.billAddress
是一个字符串,其次你的ng选项
有错误的语法。我如何纠正这些错误?这有什么关系,因为它只是打印wt将从下拉列表中选择。选项就像for语句,当你使用像billing这样的模型时,这将只在for语句中可用,如果您尝试打印出语句的一侧,则范围将不打印。我对此有一个想法。但是如果有一个以上的地址,比如我有一个以上的地址,比如说,{city=“fremont”,country=“USA”,state=“California”},{city=“Danville”,country=“USA”,state=“California”}在这种情况下,$scope.billAddress
包含两个对象:第一个是{billing billing fremont,USA,Californita'}
,第二个是{账单:'Danville,USA,California'}
。显示为select,有两个选项。因此无需申请loop???。map
是For loop。我根据需要修改了代码。非常感谢您@raina77ow的帮助。我感谢您的帮助。
<select ng-model="selectedBilling" ng-options="billing.billing for billing in billAddress track by $index">
<p ng-bind="selectedBilling.billing"></p>
<select ng-model="selectedBilling"
ng-options="billing as billing.billingAddress for billing in billAddress track by $index">
<p>{{selectedBilling}}</p>