gpt4 book ai didi

aurelia - 在 Aurelia View 中使用文字 JavaScript 值

转载 作者:行者123 更新时间:2023-12-04 13:26:46 26 4
gpt4 key购买 nike

我正在尝试通过使用“if”模板 Controller 来隐藏我的组件。问题是它是可见的,即使我把 false 放进去:

<template if.bind="${false}">
zzzzzzzz
</template>

if.bind="false"和没有绑定(bind)的两种情况都会带来相同的结果。难道我做错了什么?如果没有,您能否指出 aurelia 代码调试可以帮助我获得线索?

最好的问候,尤金。

最佳答案

插值

使用 if.bind向 Aurelia 发出信号以尝试评估表达式。因此,您不需要使用插值语法。 当您将数据注入(inject)非 Aurelia 管理的属性时,您只想使用插值。 典型的用例是将文本注入(inject)任意元素。
<p>Welcome to my website, you are the ${visitorCount} visitor!</p>
你也可以在其他你想任意注入(inject)数据的地方使用插值,包括 html 属性。
<input placeholder="${currentRecordType}" />
插值是 单向捆绑。在这里阅读更多:http://aurelia.io/docs.html#string-interpolation

绑定(bind)

现在,绑定(bind)语法用于 Hook Aurelia 中启用的行为。开箱即用,这包括一些模板逻辑、一些属性行为和一些其他自定义的东西。

每个属性都旨在检查它的使用位置以及应该如何驱动它。例如,以下绑定(bind)将是单向的,因为它不接受输入并且仅作为单向变量绑定(bind)才有意义。
<div if.bind="sectionEnabled"></div>
但是,以下绑定(bind)将是双向的,因为它接受输入,因此通常以双向方式运行。
<input value.bind="firstName />
但是请注意,没有语法可以说“这是一个变量”。事实上,Aurelia 假设您想要传入一个变量。如果你不这样做,例如在第二种情况下,你就不需要 Aurelia,你只需写:
<input value="firstName" />
您可以在此处阅读有关绑定(bind)语法的更多信息:http://aurelia.io/docs.html#databinding

答案

在您的情况下,您通过尝试绑定(bind)文字值采取了错误的方法。 Aurelia 正在寻找一个名为 ${false} 的变量。/false并且很可能找不到它。您将需要在 viewModel 中创建一个变量来绑定(bind)并指示您的 View 绑定(bind)到它:

View 模型

class viewModel {
...
constructor() {
this.showTemplate = true;
}
}

查看
<template>
<div if.bind="showTemplate">
...
</div>
</template>

关于aurelia - 在 Aurelia View 中使用文字 JavaScript 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29012855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com