基本上我有一个“父母 - 观点”视图,它接收一个装饰器,那个装饰者会创建另一个ractive-view,并观察所有的viewModelData,如果我使用view.observe('*')
(带有一些特殊模板)语法)然后我收到一个错误。
我真的不知道如何在没有示例的情况下解释这个
(在Mac OS 10.10 Chrome 38.0.2125.111中测试)
Uncaught RangeError: Maximum call stack size exceeded
(在示例的源代码中也提到了注释)
view.observe('*', callback)
完全或甚至使用空格分隔的名称来观察属性,而不是使用全局通配符*
,即view.observe('prop1.* prop2 prop3.*')
,不会发生错误。
(只看第一个括号)
从 <div class="{{#if (karma * age) >= 1}}transparent-90{{else}}transparent 25{{/if}}">karma: {{karma}}, age: {{age}} </div>
至
<div class="{{#if (karma + 1) >= 1}}transparent-90{{else}}transparent 25{{/if}}">karma: {{karma}}, age: {{age}} </div>
OR-TO(奇怪)
<div class="{{#if (5 * age) >= 1}}transparent-90{{else}}transparent 25{{/if}}">karma: {{karma}}, age: {{age}} </div>
(有些事情没有打破PatternObserver.update
递归调用)
从装饰者的范围到Ractive.defaults.data
有一些循环引用,所以我删除了所有默认属性。
父视图和装饰器视图之间的命名空间冲突,不,我更改了属性名称
答案 0 :(得分:0)
潜在的ractivejs错误,同时,不要使用(a * b)
进行乘法,请使用( a / (1/b) )