首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >aurelia中的.bind与字符串插值

aurelia中的.bind与字符串插值
EN

Stack Overflow用户
提问于 2017-02-14 14:11:43
回答 2查看 1.7K关注 0票数 5

在我们的代码库中,我们混合了以下内容:

  1. Attribute=“${某某}”,“attribute=”“${某某类转换器}”,等等。
  2. Attribute.bind=“某样”,attribute.bind=“某样东西”

我觉得后者更容易读懂。

我提到的示例与上面的完全相同;也就是说,它们不添加任何额外的字符串内容。

我觉得对奥雷利亚来说也更容易。我说的对吗?

此外,对于这些不涉及实际插值的具体情况,第一种形式是否有任何好处?(除了这两个字符外,键入的字符较少。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-14 14:40:22

鉴于您展示的示例,我建议使用选项2。它确实不是“在Aurelia上更容易”,但更明确的是,您将该属性的值绑定到所列的属性。

原来的答案在下面

第一个选项的好处是,例如,当您拥有一个接受多个值但作为单个字符串的属性时。这方面最常见的示例是class属性。class属性接受空格分隔列表中的多个类:

代码语言:javascript
运行
复制
<div class="foo bar baz"></div>

假设我们只想在离开其他类的同时,根据VM baz上的一个支柱从这个列表中添加或删除类someProp。要使用.bind语法来实现这一点,我们必须在VM上创建一个具有完整列表的属性,但是按照someProp的值来添加或删除baz。但是使用字符串内插绑定,这就变得更简单了:

代码语言:javascript
运行
复制
 <div class="foo bar ${someProp ? 'baz' : ''}"></div>

您可以想象如何通过添加或删除多个类来扩展它。您也许可以使用.bind语法创建一个值转换器来实现这一点,但最终可能会出现一些可读性差的东西。

我可以想象,正在创建的值转换器可能类似于使用中的如下内容:

代码语言:javascript
运行
复制
 <div class.bind="someProp | toggleClass:'baz':'foo':bar'"></div>

我真的认为这比使用字符串内插语法的可读性低得多。

顺便说一下,我上面想象的值转换器应该是这样的:

代码语言:javascript
运行
复制
export class ToggleClassValueConverter {
  toView(value, toggledClass, ...otherProps) {
    return `${otherProps.join(' ')} ${value ? toggledClass : ''}`;
  }
}

最好的部分是,我仍然在值转换器中使用字符串插值:-)

票数 3
EN

Stack Overflow用户

发布于 2017-02-14 17:51:15

在浏览了一下标签之后,我发现了这个。虽然这不是完全相同的事情,而且有点旧,但在https://github.com/aurelia/templating-binding/issues/24#issuecomment-168112829上有一件类似的事情是由Danyow先生(强调我的)谈论的

是的,绑定行为的符号是&(而不是用于值转换器的值)。 <input type="text" data-original="${name & oneTime}" value.bind="name" /> 这里是编写一次性绑定的标准方法。--在解析和绑定方面,这将更加轻量级: <input type="text" data-original.one-time="name" value.bind="name" />

我不知道它是否适用于本例中的. .bind/${name}情况以及oneTime实例,但如果引起他的注意,他可能会说两种方法。

考虑到这不是一个枯燥乏味的答案,我将把阿什利的答案标记为答案,因为它确认了清晰的问题,并提供了关于其他用例的有用信息,如果其他人使用类似的术语进行搜索的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42228379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档