2014-03-13 51 views
0

這可能是2個問題...導致未捕獲的RangeError的流星模板的組織?

1)是否有使用模板和會話更改頁面的最佳方法?或者應該邏輯在HTML < #if .....>

2)我有模板b和c與捕獲按鈕中的多個窗體。更新meteor.user .....我得到這個錯誤...

Uncaught RangeError: Maximum call stack size exceeded ejson.js:351 EJSON.cloneejson.js:351 (anonymous function)ejson.js:386 .each..forEachunderscore.js:113 EJSON.cloneejson.js:385 (anonymous function)ejson.js:386 .each..forEach

在客戶端HTML ....

template name="a" xxxxxx {{{page}}} /template

template name="b" xxxxxx {{var1}} /template

template name="c" xxxxxx Form.... {{var2}} /template

在客戶端.... JS

if session_page = "a"

template.a.page = template.b({var1: test})

else.....

template.a.page = template.c({var2: test}) ....

非常感謝。我一直在這個問題上拉我的頭髮,並懷疑它是如何擺放我的模板,從而導致綁定反應子模板的循環....紅牛並沒有幫助這次。

對不起,我不能發佈所有的代碼..其目前在一個麪條的情況。

+0

對於你的第一個問題,你應該使用路由器如[iron-router](https://github.com/EventedMind/iron-router)來處理改變的頁面。 – sbking

+0

嗨cuberto。謝謝。我試圖讓整個頁面反應,因爲我需要路由的其他用途。他們是否有這樣做的副作用? –

回答

1

快速更新。使用上述方式進行模板處理很好。性能問題尚未測量,但它應該也可以。

rangeerror是由解析對象而不是字符串引起的。 即item.value

+0

謝謝!我有這個問題。正試圖在服務器端獲得價值。我只是將值重新分配給客戶端的變量,並將該變量作爲參數傳遞,服務器端沒有任何問題。 – stewartmccoy