当前位置: 首页 > 知识库问答 >
问题:

角度/Vue。js在同一指令中循环两个对象

薛扬
2023-03-14

我不知道我想做的是否可能。我正在尝试创建一个Angular指令,该指令在数据对象上重复并打印出其值以及具有类似结构的第二个不相关对象的值。

我正在开发一个翻译应用程序,其中语言文件的主版本显示在一列中,翻译显示在下一列中。我想通过主对象重复,然后在有翻译的地方显示翻译。我不想合并这两个对象,因为我更喜欢在翻译对象和DOM之间保持双向绑定,以便可以轻松保存。

这正是我想做的:

目标

var master: {
    face: {
        a: aaa,
        b: bbb,
        c: ccc,
        more: {
            d: ddd,
            e: eee
        }
    },
    magic: magic,
    test: test
}

var translation: {
    face: {
        c: cccc,
        more: {
            d: dddd
        }
    },
    test: testttt
}

DOM输出

<ul>
    <li>
        face
        <ul>
            <li>
                <div>aaa</div>
                <div></div>
            </li>
            <li>
                <div>bbb</div>
                <div></div>
            </li>
            <li>
                <div>ccc</div>
                <div>cccc</div>
            </li>
            <li>
                more
                <ul>
                    <li>
                        <div>ddd</div>
                        <div>dddd</div>
                    </li>
                    <li>
                        <div>eee</div>
                        <div></div>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
    <li>
        <div>magic</div>
        <div></div>
    </li>
    <li>
        <div>test</div>
        <div>testttt</div>
    </li>
</ul>

我作为一个Angular问题来问这个问题,但是我计划使用vue.js。我这样做是因为Angular社区更大,因为我相信从Angular学到的概念可以很容易地移植到vue.js上。我不想使用Angular本身,因为一个完整的框架远远超出了我的需要。

将对象vue.js为树的代码示例

以下是该项目的存储库:https://github.com/jdwillemse/translation-utility

共有1个答案

廉子民
2023-03-14

如果您使用< code>ng-repeat="(key,value) in master"就可以

然后你可以简单地做:

< code > { { translation[key]} }

这个问题回答了如何做键值循环的基础。

这也是在安建一棵树

我没有用过Vue.js,但是你应该可以通过使用key,value looping和嵌套key value loops在里面来做到这一点。

这是Vue等价物:

在Vue中,我不确定的是您是否可以在DOM中访问[]符号。您想要<code>{{translation〔$key〕}</code>,但不确定是否可以在Vue中访问这样的数据。你可以有角度。

 类似资料:
  • 问题内容: 我创建了下面的角度指令, ChildDirective ,在 ParentDirective中使用 这正常工作,并且出现了几个子指令。 我想更新 ParentDirective ,以从服务器获取 childDirective 的列表。因此,我更新了 ParentDirective 代码以进行Ajax调用,然后绘制 ChildDirectives 问题是, childDirectives

  • 在使用Angular 2时,我遇到了一个问题:显然我不能将两个结构指令(,)放在同一个DOM元素上。 在Angular 1中,这曾经是有效的。例如: 当我用Angular 2尝试类似的东西时: 什么都没发生。甚至没有错误。 如果我将< code>ngIf指令放在子元素上,它会工作: 但问题是,我不想为此添加子元素。例如,如果它是一个<代码> 我知道Angular 2仍处于测试阶段,但我想知道它是否

  • 问题内容: 我有一个带有变量类型的指令myDirective。如果我运行,我希望指令使用templateUrl:x-template.html。如果我愿意,指令可以使用templateUrl:y-template.html。 这是我目前的指令。 我通过stackoverflow和angular文档阅读,但是没有找到我需要的任何东西。 我现在正在尝试按照以下方式进行操作: 但是不知道在哪里做。 你们

  • 2、相等或为零循环指令(Loop While Equal or Loop While Zero) 相等或为零循环指令的一般格式: LOOPE/LOOPZ 标号 LOOPEW/LOOPZW 标号;CX作为循环计数器,80386+ LOOPED/LOOPZD 标号 ;ECX作为循环计数器,80386+ 这是一组有条件循环指令,它们除了要受CX或ECX的影响外,还要受标志位ZF的影响。其具体规定如下:

  • 5.2.8 循环指令 循环结构是程序的三大结构之一。为了方便构成循环结构,汇编语言提供了多种循环指令,这些循环指令的循环次数都是保存在计数器CX或ECX中。除了CX或ECX可以决定循环是否结束外,有的循环指令还可由标志位ZF来决定是否结束循环。 在高级语言中,循环计数器可以递增,也可递减,但汇编语言中,CX或ECX只能递减,所以,循环计数器只能从大到小。在程序中,必须先把循环次数赋给循环计数器。

  • 无法找到这个问题的答案。我有一个mysqli循环语句。在这个循环中,我想运行另一个查询。我不能同时编写这两个sql。可能吗?我想,因为我使用stmt并设置它来准备语句。所以我添加了另一个变量stmt2。单独运行它们是可行的,但像我写的那样运行它会给我“mysqli致命错误:对非对象调用成员函数bind_param()” 伪代码: 答案是: 我真傻,我不知道我必须有两个mysqli连接。所以解决方案