2015-02-11 55 views
1

要訪問模型屬性在模板中,我簡單地做:爲什麼我需要在模板中爲模板中的所有屬性加前綴?

{{name}} 

正如guide

我現在已經搬到[email protected]解釋,與Ember @金絲雀(1.12 .0-beta.1 + canary.50206d0f),[email protected][email protected],不知何故,我發現自己被迫以model.作爲前綴。發生這種情況的直接屬性,如:

{{model.name}} 

和綁定屬性,如:

{{view "verifiedEmail" emailBinding="model.email" verifiedBinding="model.isEmailVerified"}} 

這個預期?這在哪裏記錄?這真是一個皮塔餅,因爲這意味着我的模板有很多變化。

我記得在某處讀取對象代理已被棄用,但我找不到對它的引用了。

回答

1

Routeable組件部分The Road to Ember 2.0解釋了爲什麼需要這些更改。

具體注意到了這一點:

在這兩種情況下,短版本是,你可以不再依靠ObjectController或ArrayController的 代理行爲,但你可以 通過在前面模型亡羊補牢。到屬性名稱。

還要注意的是,如果你有你的應用程序的很大一部分,將需要重構由於這些變化,灰燼核心團隊曾表示:

我們還將爲灰燼2.0提供一個可選的插件 恢復現有行爲的應用程序。

所以你可能不需要立即重構,如果它太麻煩了。

+0

謝謝,那是我讀過的地方。但我有點困惑:首先,這些改變應該是漸進的,並且基於棄用而不是停止完全工作:*我們計劃在Ember 1.12中支持可路由組件,並且同時棄用可路由控制器。我們計劃在Ember 2.0 *中移除對可路由控制器的支持。 「棄用」意味着,不是「刪除」。其次,在*某些地方,我會收到棄用警告,但不是全部。也許這個棄用警告不適用於偏股? – dangonfast 2015-02-12 07:39:57

+0

並且關於您不需要立即重構的評論:我**確實需要**,因爲目前它不起作用。不知道插件何時可用。回到更老的發行版本可能會喚醒其他守護進程... – dangonfast 2015-02-12 07:48:22

+0

由於您正在使用canary構建,可能這是一個意外的迴歸。我認爲你應該在GitHub上提供一個關於燼的問題。 – 2015-02-12 11:38:27

1

顯然,這是過渡計劃灰燼2.0(https://github.com/emberjs/rfcs/pull/15

而是指性直接模型(或在此),你會稱它們爲model.propName的一部分。 同樣,移動到組件的計算屬性將需要依賴於model.propName,如果它們是從ObjectController遷移的。 在這兩種情況下,簡短版本都是您不能再依賴ObjectController或ArrayController的代理行爲,但可以通過爲模型加前綴來補救情況。到屬性名稱。

相關問題