含有愚弄與每個索引1發子彈對象的子陣列的名單上有含有相等的長度(name
,short_name
,和description
)的3個陣列的對象(searchedMenu
)。顯示使用納克 - 重複
for(var i=0;i<description.length;i++){
searchedMenu.name[i] = description[i].name;
searchedMenu.short_name[i] = description[i].short_name;
searchedMenu.description[i] = description[i].description;
}
menu.searchedMenu = searchedMenu;
我要顯示的每個name
,short_name
和description
爲無序列表項是這樣的:
- 名1,short_name1,內容描述
- 名2,short_name2,內容描述2
我正在努力做到這一點。我已經說過我是在相關div
控制器
<div class="container" ng-controller = "NarrowItDownController as narrow">
如果我這樣做:
<ul>
<li ng-repeat="item in narrow.searchedMenu"> {{item}}</li>
</ul>
我得到一個包含每個陣列中的所有元素像這樣3個要點:
- name1,name2,...
- short_name1,short_name2,...
- descrip檢查一次1,內容描述2,...
如果我這樣做:
<li ng-repeat="item in narrow.searchedMenu"> {{item.name}}, {{item.short_name}}, {{item.description}}</li>
我得到:
- ,
- ,
- ,
作爲一個實驗我也試過這樣:
<li ng-repeat="item in narrow.searchedMenu.name"> {{item}}</li>
,它給了我沒有在瀏覽器的控制檯錯誤:
Error: [ngRepeat:dupes] http://errors.angularjs.org/1.5.8/ngRepeat/dupes?p0=item%20in%20narrow.searchedMenu.name&p1=string%3AOrange%20Chicken&p2=Orange%20Chicken
的console.log("Searched menu: ", menu.searchedMenu);
是:
Searched menu: Object {name: Array[219], short_name: Array[219], description: Array[219]}
完整的控制器代碼是(這是骯髒的工作正在進行中):
NarrowItDownController.$inject = ['MenuSearchService'];
function NarrowItDownController(MenuSearchService) {
var menu = this;
var promise = MenuSearchService.getMatchedMenuItems();
var item_name = ["",""];
var description;
var searchValue = "ton";
function containsFilter(value) {
return value.indexOf(searchValue) !== -1;
}
promise.then(function (response) {
menu.results = response.data;
menu.results = menu.results.menu_items;
description = response.data;
description = description.menu_items;
console.log(description);
var searchedMenu = {};
searchedMenu.name = [];
searchedMenu.short_name = [];
searchedMenu.description = [];
for(var i=0;i<description.length;i++){
searchedMenu.name[i] = description[i].name;
searchedMenu.short_name[i] = description[i].short_name;
searchedMenu.description[i] = description[i].description;
}
console.log(searchedMenu);
menu.searchedMenu = searchedMenu;//description.filter(containsFilter);
console.log("Searched menu: ", menu.searchedMenu);
})
.catch(function (error) {
console.log("Something went terribly wrong.");
});
menu.logMenuItems = function (searchTerm) {
var promise = MenuSearchService.getMatchedMenuItems(searchTerm);
promise.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
})
};
}
請注意,我在上面的示例中對搜索詞進行了硬編碼,因爲這是一項正在進行的工作。
在哪裏你的角度控制器代碼? –
也可能向我們展示console.log的narrow.searchedMenu – defaultcheckbox
@FerasSalim第一個代碼塊是Controller代碼的關鍵部分,但我可以添加更多的代碼,沒問題。給我10秒鐘。 –