小编fly*_*ace的帖子

我是否可以强制更新模型的属性以注册为更改,即使它不是?

我知道我可以设置Backbone模型属性的值,这样它就不会使用{silent:true}触发更改事件.我也知道如果我将模型的属性设置为它已经具有的值,它将不会触发更改事件,这几乎总是一件好事.但是,有没有办法强制更新模型以触发更改事件,即使它被设置为相同的值?

所以如果在我的模型中我设置:

defaults:{
    attributeToChange: "myValue"
}
Run Code Online (Sandbox Code Playgroud)

然后在使用这个模型的视图中我调用:

this.model.set('attributeToChange', 'myNewValue', {silent:true});
Run Code Online (Sandbox Code Playgroud)

值将更改但不会触发更改事件.但是,如果我想在设置属性的值时触发更改事件,无论它设置为什么,该怎么办?所以,如果相反,我只是做了

this.model.set('attributeToChange','myValue');
Run Code Online (Sandbox Code Playgroud)

是否有一个我可以添加的参数会强制将其视为一个变化?我相信我可以使用

this.model.trigger('change:attributeToChange');
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否有办法在没有这个的情况下强制改变事件.

额外问题:如果我将模型的属性设置为已有的值,这是否会使属性的先前值成为我发起更改之前的值?

this.model.set('attributeToChange','someValue');
this.model.set('attributeToChange','anotherValue');
this.model.set('attributeToChange','anotherValue');
console.log(this.model.previous('attributeToChange')); //someValue or anotherValue?
Run Code Online (Sandbox Code Playgroud)

backbone.js

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

如何让 Storybook 使用项目的 CSS 变量

我正在将 Storybook 与 React 项目一起使用,该项目也使用样式组件。其中许多样式定义访问在目录根目录的文件:root中定义的 CSS 变量值。以这种方式定义的所有 CSS 变量都只是颜色的占位符。但是,当组件在 Storybook 中渲染时,CSS 变量的值不会被访问,因此这些颜色永远不会渲染/显示。index.csssrc

有没有办法通过插件或配置来使我在index.css文件中定义的 CSS 变量在 Storybook 中渲染时可供组件访问?

css-variables storybook

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

标签 统计

backbone.js ×1

css-variables ×1

storybook ×1