在魔法模式下通知 RactiveJS 新的对象属性
Informing RactiveJS about new object properties in magic mode
我是 Ractive.js 的新手,正在使用 "magic mode",因此对我的 JS 对象的更新会自动触发对我的 UI 的更新。一切都很好,除了我有一些属性被添加到我的绑定对象 在 我的 Ractive 实例被渲染之后。这意味着 Ractive 看不到这些属性的更改,因此 "magic" 对它们不起作用。
作为一种解决方法,我发现我可以在将它们传递给 Ractive 之前用 'empty' 值初始化这些属性,但感觉有点不自然。
是否有更好的方式来通知 Ractive 我已经添加了一个新的 属性 到它应该开始跟踪的对象?
我的经验是,您可以通过两种方式进行判断。
第一个是您在 post 中描述的那个。
第二种是通过您用来呈现对象的模板 "add" 属性。
当你将魔法模式设置为 true 时,ractive 实际做的是 "wrapping/replacing" 你的字段和 属性 监控字段的变化。
当我在我的数据对象上使用 Object.DefineProperty 时,我在使用 magicmode 时遇到了一些问题。 (东西被调用了两次)
我会选择解决方案 1,并提前定义所有字段。
还要注意将您的字段(现在实际上是 属性 替换为 ractive)设置为不是值类型的内容,因为这将再次覆盖 属性 并弄乱魔术模式。
我是 Ractive.js 的新手,正在使用 "magic mode",因此对我的 JS 对象的更新会自动触发对我的 UI 的更新。一切都很好,除了我有一些属性被添加到我的绑定对象 在 我的 Ractive 实例被渲染之后。这意味着 Ractive 看不到这些属性的更改,因此 "magic" 对它们不起作用。
作为一种解决方法,我发现我可以在将它们传递给 Ractive 之前用 'empty' 值初始化这些属性,但感觉有点不自然。
是否有更好的方式来通知 Ractive 我已经添加了一个新的 属性 到它应该开始跟踪的对象?
我的经验是,您可以通过两种方式进行判断。
第一个是您在 post 中描述的那个。 第二种是通过您用来呈现对象的模板 "add" 属性。
当你将魔法模式设置为 true 时,ractive 实际做的是 "wrapping/replacing" 你的字段和 属性 监控字段的变化。
当我在我的数据对象上使用 Object.DefineProperty 时,我在使用 magicmode 时遇到了一些问题。 (东西被调用了两次)
我会选择解决方案 1,并提前定义所有字段。 还要注意将您的字段(现在实际上是 属性 替换为 ractive)设置为不是值类型的内容,因为这将再次覆盖 属性 并弄乱魔术模式。