我正在创建一个小应用。我需要加载github表情符号。我正在使用restangular。 我将restangular baseUrl设置为:
RestangularProvider.setBaseUrl('https://api.github.com');
我现在需要的是我想得到一些我在数组中定义的表情符号。这是:
$scope.emojiNames = ['tokyo_tower', 'tongue', 'tractor', 'traffic_light', 'train', 'tiger', 'red_car'];
$scope.emojisObj = Restangular.one("emojis").get().
then(function(res) {
return ($scope.emojiNames).map(function(emoji) {
return res[emoji];
}, function(err) {
console.log("ERR:", err);
});
});
在安慰emojisObj
时,它会显示相应的网址值。
但是在Html中绑定emojisObj
时,它显示为空。我在哪里弄错了?
我的Html代码是:
<span ng-repeat="emoji in emojisObj track by $index">
<img ng-src="{{emoji}}" height="100px" width="100px"/>
</span>
答案 0 :(得分:0)
你无法从内心的承诺中回归。你在这里做的是你正在返回Restangular.one()。如果要取消映射它应该做的响应,请到$ scope
Restangular.one("emojis").get().then(function(res) {
var mapped = [];
$scope.emojiNames).map(function(emoji) {
mapped.push(res[emoji]);
});
$scope.emojisObj = mapped;
}, function(err) {
console.log("ERR:", err);
});
或直接
Restangular.one("emojis").get().then(function(res) {
$scope.emojisObj = [];
$scope.emojiNames).map(function(emoji) {
$scope.emojisObj.push(res[emoji]);
});
}, function(err) {
console.log("ERR:", err);
});