我試圖根據控制器屬性中某個元素的存在來獲取隱藏的元素(設置類爲display: hidden;
)。我在視圖中還有另外兩個計算屬性,一個是rowNumber,另一個是ColumnNumber。這兩個屬性按預期工作,但是當我將代碼添加到hiddenClass計算屬性中時,代碼會中斷並聲明「在渲染元素之前,元素被添加到DOM之前,您確實導致了視圖重新渲染」。Ember隱藏元素的計算屬性
對於計算性能的代碼是:
hiddenClass: function() {
var cells = this.get('controller.occupiedCells');
console.log('onOccupiedChange fired');
var r = cells.filterBy('row',parseInt(this.get('rowNumber'))).findProperty('col',parseInt(this.get('columnNumber')));
}.property('[email protected]')
我知道,如果我刪除行宣佈var r
這並不如預期返回真/假,但是不會引發任何異常。當滿足依賴於rowNumber和columnNumber的條件時,如何獲取要隱藏的元素?
你的模板是什麼樣的? – Kingpin2k 2014-10-08 02:25:24
[在使用'parseInt'時總是使用基數](http://www.michaelgaigg.com/blog/2008/10/07/the-importance-of-the-javascript-parseint-radix/)。 – 2014-10-08 07:54:39
'