在Ionic中,如何在for循环的每次迭代后向应用程序视图添加数据

How to add data after each iteration of for loop to the app view in Ionic?

本文关键字:迭代 应用程序 数据 添加 视图 Ionic 循环 for      更新时间:2023-09-26

我正在创建一个应用程序,在字典中搜索某些单词,如果单词存在于字典中,则定义以及一些其他数据被输出到应用程序视图。我的问题是,每当字典中存在多个单词时,应用程序只输出找到的最后一个单词。

下面是线性搜索的代码。(我知道这可能可以使用二进制搜索进行优化,但现在它满足我的目的:

for (var i=0; i < result.length; i++) {
    for(var k=0; k <my_dictionary.length; k++){
            if(result[i]== my_dictionary[k].word) {
                me.word = my_dictionary[k].word;
                me.definition = my_dictionary[k].definition;
                me.usage = my_dictionary[k].usage;
                console.log(me.word);
            } 
    } //looping over words in dictionary 
}
下面是模板文件中呈现这些变量的代码:
    <h3 class="text-center" ng-show="home_ctrl.word"><u>Word:</u>{{home_ctrl.word}}</h3>
    <h3 class="text-center" ng-show="home_ctrl.definition"><u>Explanation:</u>{{home_ctrl.definition}}</h3>
    <h3 class="text-center" ng-show="home_ctrl.usage"><u>Usage:</u>{{home_ctrl.usage}}</h3>

是否有某种方式将每个单词输出到视图,因为它是在字典中找到的?

您可以创建一个empty array,并将meObject的对象结果压入数组。最后,您可以使用ng-repeat来循环html.

中的数组。
var meArray = [];
for (var i=0; i < result.length; i++) {
    for(var k=0; k <my_dictionary.length; k++){
        if(result[i]== my_dictionary[k].word) {
            var meObject = {
                word: my_dictionary[k].word;
                definition: my_dictionary[k].definition;
                usage: my_dictionary[k].usage;
            }
            me.push(meObject);
        } 
    } //looping over words in dictionary 
}
$scope.home_ctrl_array = meArray;
<div ng-repeat="home_ctrl in home_ctrl_array">
    <h3 class="text-center" ng-show="home_ctrl.word"><u>Word:</u>{{home_ctrl.word}}</h3>
    <h3 class="text-center" ng-show="home_ctrl.definition"><u>Explanation:</u>{{home_ctrl.definition}}</h3>
    <h3 class="text-center" ng-show="home_ctrl.usage"><u>Usage:</u>{{home_ctrl.usage}}</h3>
</div>

如果你知道jquery选择,你可以选择你想要显示它的html元素,并执行。html()或。text()。