Javascript ng显示不使用<;选择>;
我试图根据数组引用是否为Javascript ng显示不使用<;选择>;,javascript,angularjs,Javascript,Angularjs,我试图根据数组引用是否为[]来隐藏或显示标记。标记由同一数组支持 <select ng-show="model.people" ng-model="model.selectedPerson" ng-options="person.name for person in model.people"></select> HTML代码: <form name="form" ng-controller="FormController" ng-submit="model.ad
[]
来隐藏或显示
标记。
标记由同一数组支持
<select ng-show="model.people" ng-model="model.selectedPerson" ng-options="person.name for person in model.people"></select>
HTML代码:
<form name="form" ng-controller="FormController" ng-submit="model.addPerson(model.anyPerson)" novalidate>
<input type="text" ng-model="model.anyPerson.name" ng-required="true" placeholder="Name"/><br/>
<input type="number" name="age" ng-model="model.anyPerson.age" min="15" max="100" ng-required="true" placeholder="Age"/><br/>
<button type="submit" ng-disabled="form.$invalid">Add Person</button><br/>
<select ng-show="model.people" ng-model="model.selectedPerson" ng-options="person.name for person in model.people"></select><br/>
<span ng-show="model.selectedPerson" ng-bind-template="Name: {{model.selectedPerson.name}}, Age: {{model.selectedPerson.age}}"></span>
</form>
添加人员
空数组(一旦分配)将成为对象。似乎这个对象总是真实的(空或不空)
在我的测试中,上面的代码总是返回1
因此,我建议您在ng show
中使用length>0
:
<select ng-show="model.people.length > 0" ng-model="model.selectedPerson" ng-options="person.name for person in model.people"></select>
空数组(一旦分配)将成为对象。似乎这个对象总是真实的(空或不空)
在我的测试中,上面的代码总是返回1
因此,我建议您在ng show
中使用length>0
:
<select ng-show="model.people.length > 0" ng-model="model.selectedPerson" ng-options="person.name for person in model.people"></select>
<select ng-show="model.people.length > 0" ng-model="model.selectedPerson" ng-options="person.name for person in model.people"></select>