小编ten*_*obi的帖子

Angular2动态更改CSS属性

我们正在制作一个Angular2应用程序,我们希望能够以某种方式创建一个全局CSS变量(并在分配变量时更改属性的值).

我们使用了Polymer一段时间(现在我们正在切换到Angular2组件)并且我们使用了CSS属性(Polymer有一些polyfill),我们只使用了更新样式Polymer.updateStyles().

有什么方法可以实现类似的功能吗?

编辑:

我们想要类似于Sass color: $g-main-color或CSS自定义属性的东西color: var(--g-main-color),每当我们决定更改属性的值时,例如updateVariable('g-main-color', '#112a4f')它会动态地更新所有值的值.所有这一切都在应用程序运行时.

编辑2:

我想在我的CSS的不同部分(host,child element ...)中使用一些全局CSS变量,并且能够立即更改值 - 所以如果我更改my-color变量,它会在应用程序的任何位置发生变化.

我将使用Sass语法为例:

:host { border: 2px solid $my-color }
:host .some-label { color: $my-color }
Run Code Online (Sandbox Code Playgroud)

可以使用Angular管道之类的东西吗?(但它应该只适用于HTML)

:host { border: 2px solid {{ 'my-color' | cssvariable }} }
:host .some-label { color: {{ 'my-color' | cssvariable }} }
Run Code Online (Sandbox Code Playgroud)

javascript dart angular-dart angular

72
推荐指数
3
解决办法
11万
查看次数

PhpStorm中的行间距

我想在PhpStorm中设置行间距,我在"设置"中找到了它.

但它不能像我想的那样工作.它只是在文本上方添加了一些空间,我希望文本位于行的中间.有什么方法可以做到这一点吗?

文本上方的这个空间是如此丑陋和无用.我附上一张图片,你可以看到问题所在.

我的问题是什么

coding-style intellij-idea phpstorm

17
推荐指数
1
解决办法
7097
查看次数

TypeScript声明模块

我想创建本地模块在我的打字稿(与角2到任何文件)的应用程序,然后简单的参考与进口模块一样myApp/components,myApp/pipes等等,不使用相对路径(../../../MyComponent),因为我有现在做.

例如,Angular 2可以像这样使用.(我还没有找到他们是如何做到的)

import {Component} from 'angular2/core';
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这种行为?


我做了一些文件,如components.ts,templates.ts等在那里我从当前部分导出文件:

export * from './menu/item';
export * from './menu/logo';
export * from './article/article';
export * from './article/sidebar';
Run Code Online (Sandbox Code Playgroud)

...然后我有一个主文件myApp.ts,我声明模块如下:

declare module 'myapp/components' {
    export * from './application/components';
}

declare module 'myapp/templates' {
    export * from './application/templates';
}
Run Code Online (Sandbox Code Playgroud)

但是这个文件没有生成任何东西,因此TS构建告诉我错误 ...file_path...(4,9): error TS2305: Module ''myapp/components'' has no exported member 'AlfaBeta'.

顺便说一句.我tsconfig.json看起来像这样:

{
    "compilerOptions": {
        "target": …
Run Code Online (Sandbox Code Playgroud)

typescript angular

10
推荐指数
1
解决办法
6347
查看次数

不推荐使用EventEmitter,不应使用它

在AngularDart 3.0.0中,不推荐使用EventEmitter.那么,如何将子组件中的事件发送给父组件?

在更新之前,它看起来像:

@Component(
  selector: 'my-test',
  templateUrl: 'test.component.html'
)
class TestComponent {
  @Input()
  String name = '';

  @Output()
  EventEmitter<String> onNameChange = new EventEmitter<String>();
}

...    
onNameChange.emit('New Name');
...
Run Code Online (Sandbox Code Playgroud)

现在我需要使用Stream和StreamController.有人能举个例子吗?

dart angular-dart angular

6
推荐指数
1
解决办法
1145
查看次数

从 Polymer 对象属性值设置属性

我有元素,我将它的数据放入对象中。

<my-element data="{{item.content}}"></my-element>
Run Code Online (Sandbox Code Playgroud)

现在我还没有这样做,所以我有所有的data财产声明。

properties: {
  data: {
    type: Object,
    value: {
      active: false,
      name: "Some name."
      ...
   }
  }
}
Run Code Online (Sandbox Code Playgroud)

我还必须单击应切换布尔值的子元素上的处理程序。

_handleClickBlock: function () {
  this.data.active = !this.data.active;
}
Run Code Online (Sandbox Code Playgroud)

我需要[active] attribute在 my-element 上设置data.active值并每次都进行更改,因为我在我的 CSS 样式中使用它,例如:host[active] ....

我怎样才能实现它?我this.setAttribute('active', this.data.active)在事件处理程序中尝试过,但它只更改了一次值;控制台日志正在切换。

编辑:

我试过使用这个代码:

observers: [
    '_activeChange(data.active)'
],

_activeChange: function(newValue) {
    this.active = newValue;
    console.log("change");
},

_handleClickBlock: function () {
    console.log("------ click");
    this.data.active = !this.data.active;
    console.log(this.data.active);
}
Run Code Online (Sandbox Code Playgroud)

但是在我的控制台输出中只有这个,所以没有调用观察者。

------ click
false
------ click …
Run Code Online (Sandbox Code Playgroud)

polymer polymer-1.0

3
推荐指数
1
解决办法
5486
查看次数

HTML 文件中的 AngularDart 构建版本防止缓存新构建

我正在尝试实现构建解决方案,在那里我将获得(之后webdev build)具有抗缓存文件 url 的文件,例如在index.html那里而不是<script defer src="main.dart.js"></script>像这样的东西<script defer src="main.dart.js?v=1.1.0"></script>- 我真的不在乎那是包版本的版本还是一些随机哈希。

我的观点是,如果我确实构建了一个新版本,我需要用户获取这个最新版本,而不是之前缓存的版本(因为相同的 url)。

dart angular-dart

3
推荐指数
1
解决办法
212
查看次数

吞咽-完成后发出哔哔声

我想在gulp中进行语音控制/反馈/响应。我在下面写了这样的内容,但是没有用。有人知道如何解决吗?:)

它抛出此错误

// Compile Sass, autoprefix properties, generate CSS.
gulp.task('sass', function () {
  return sass('src/sass/style.scss', {style: 'compressed'})
    .pipe(autoprefixer())
    .pipe(rename('style.css'))
    .pipe(gulp.dest('src/css/'))
    .pipe(gutil.beep()) // beep when build is done
})
Run Code Online (Sandbox Code Playgroud)

javascript feedback response beep gulp

1
推荐指数
1
解决办法
1658
查看次数