伙计们我遵循了关于如何使用node + express + mysql实现rest api的教程,这里是我的代码REST.js文件中的路由:
sampleApp.controller('InstallController', function($scope, $http) {
$http.get('http://localhost:3000/api/companies').
success(function (data) {
$scope.clients = data;
});
}
这就是我用angular调用它们的方式:
<option ng-repeat="client in clients">{{client}}</option>
和html
{
"Companies": [
{
"id": 1,
"name": "GOLF"
},
{
"id": 2,
"name": "RENAULT"
},
{
"id": 3,
"name": "AUDI"
},
{
"id": 4,
"name": "MAZDA"
}
]
}
这是我得到的答案:
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/main')
.then(null, console.error.bind(console));
我的目标是迭代结果以使用名称填充选择标记。请跟我说,我开始吧。谢谢:))
答案 0 :(得分:1)
您应该在下面使用,但是当您选择任何值时,id
内只能有selectedClient
值。
<select ng-model="selectedClient">
<option value="client.id" ng-repeat="client in clients.Companies">
{{client.name}}
</option>
</select>
更好的选择是在ng-options
下拉列表中使用select
指令,因此您可以在此处选择对象而不是原始值。就像选择{"id": 1, "name": "GOLF" }
选项时会有GOLF
个对象一样,ng-repeat
的重复选项是否有限制选择原始类型值。
<select ng-model="selectedClient" ng-options="client.name for client in clients.Companies"></select>
答案 1 :(得分:1)
看起来你把所有东西都正确地连接在一起你只需要更改$ scope.clients的赋值。
$scope.clients = data.Companies;
然后在你的HTML
中<option value="{{client.id}}" ng-repeat="client in clients">
{{client.name}}
</option>