Javascript 我可以在控制台中打印值,但不能在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]应为“选

我是新手。我试图在下拉列表中显示数据,但输出来自控制台,而不是html视图

html:-

 <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>