首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Aurelia对话框中更改文本颜色?

如何在Aurelia对话框中更改文本颜色?
EN

Stack Overflow用户
提问于 2017-07-21 15:09:32
回答 1查看 219关注 0票数 0

我有一个对话框,你可以在这里看到:

代码语言:javascript
复制
<template>
  <ux-dialog>
    <ux-dialog-body>
      <h2 t="luminaires.list.enter-serialnumber">Bitte geben Sie eine neue Seriennummer ein</h2>
      <input value.bind="serialNumber" />
    </ux-dialog-body>

    <ux-dialog-footer>
      <button click.trigger="controller.cancel()" t="luminaires.list.cancel">Abbrechen</button>
      <button click.trigger="controller.ok(serialNumber)" t="luminaires.list.ok">Ok</button>
    </ux-dialog-footer>
  </ux-dialog>
</template>

和相关的view-model:

代码语言:javascript
复制
import {DialogController} from "aurelia-dialog";
import {Controller} from "aurelia-templating";

export class SerialnumberDialog {
  private static inject = [DialogController];
  private serialNumber: string;
  private controller: any;
  constructor(controller: Controller) {
    this.controller = controller;
  }
}

我有时想改变下面句子的颜色。

代码语言:javascript
复制
<h2 t="luminaires.list.enter-serialnumber">Bitte geben Sie eine neue Seriennummer ein</h2>

例如,当某些主体给出重复的序列号时,我希望将颜色更改为红色。我可以通过以下代码打开对话框:

代码语言:javascript
复制
this.dialogService.open({ viewModel: SerialnumberDialog, lock: false })
      .whenClosed((response) => {......

我想使用Aurelia的概念来达到这个目的。你能告诉我解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-21 17:00:59

我将在<h2>元素上使用css.bind方法。我将在视图模型上创建一个方法,以便能够决定文本是否为红色,然后将样式存储在css变量中。

代码语言:javascript
复制
import {DialogController} from "aurelia-dialog";
import {Controller} from "aurelia-templating";

export class SerialnumberDialog {
  private static inject = [DialogController];
  private serialNumber: string;
  private controller: any;


  constructor(controller: Controller) {
    this.controller = controller;
    this.myCss = {
      color: 'black'
    };
  }

  activate(){
    if(//serial number is repetitious){
      this.myCss.color = red;
    }
  }
}

现在你有了一个myCss对象,它可以绑定到你的视图来改变文本的颜色。

代码语言:javascript
复制
<h2 t="luminaires.list.enter-serialnumber" css.bind="myCss">
  Bitte geben Sie eine neue Seriennummer ein
</h2>

如果你需要更多信息,Dwayne Charrington在他的ILikeKillNerds博客https://ilikekillnerds.com/2016/02/binding-with-style-in-aurelia/上写了一篇关于css绑定的很好的文章。

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

https://stackoverflow.com/questions/45231253

复制
相关文章

相似问题

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