我與角2測試試驗,並希望使用語義UI下拉控制,角2的組成部分。角2分量雙向數據綁定使用對象
http://semantic-ui.com/modules/dropdown.html#converting-form-elements
我的小樣本項目是在這裏:
https://github.com/uNki23/angular2semantic/
我把它包一個角2部分 'UiSelectComponent' 裏面,你可以在這裏看到:
https://github.com/uNki23/angular2semantic/blob/master/src/app/components/ui-select.component.ts
任何其它組分應該使用UiSelectComponent b傳遞給它兩個對象:一個數組包含可能的選擇和一個可選的預定義選擇選項。我爲「SelectOption」選擇了一個界面,它有兩個屬性'value'(數字)和'displayValue'(字符串)。該組件應該使用這樣的:
https://github.com/uNki23/angular2semantic/blob/master/src/app/components/app.component.html
第一個問題: 我想實現的是,該預先選定的選項將被傳遞給UiSelectComponent,用戶選擇改變該選項和該選項還應該從父組件中更改所選對象。很明顯,父組件需要知道,從UiSelectComponent中選擇的選項是什麼,對吧?
第二個問題: 設置語義UI下拉內部的初始選擇的選項,如果我換一個的setTimeout()函數內.dropdown()函數只是工作。我認爲,Angular 2不再需要這些東西來使更改可見?
我嘗試了一切可能的辦法,我已經找到了最後兩天 - 現在我需要你的幫助:)
在此先感謝!
謝謝您的回答,但它並沒有解決我的問題。我做了一些非常小的例子,你可以看到問題。 ** angularjs 1.4 **工程:[https://plnkr.co/edit/jAzd9SfoaE3j8HLUCfS2?p=preview](https://plnkr.co/edit/jAzd9SfoaE3j8HLUCfS2?p=preview)** angular 2 ** doesn' t:[http://plnkr.co/edit/IkLKzFO77lL4BBRIcvOB?p=preview](http://plnkr.co/edit/IkLKzFO77lL4BBRIcvOB?p=preview)...我看到了什麼問題,雖然..我重新分配對象this.selected = {..}。但是它在angularjs 1.4中的工作就像我在第一個例子中所做的那樣。 – uNki
@uNki,是的,重新分配子對象不起作用 - 父對象仍然有對其他/原始對象的引用。您必須發出()事件以通知Angular 2中的父級。這是因爲Angular 2在更改檢測時使用的單向數據流:輸入屬性僅從父級傳播到子級。要走相反的方向,你需要發出()一個事件。在Angular 1中,'='可以在兩個方向上進行。 –