2013-04-08 83 views
2

我有一個指令,生成一個拖放可重複列表添加和刪除功能。如果在容器中單擊,則動態添加輸入,然後輸入逗號,並在鍵入逗號時,將鍵入的值壓入與ng-repeat一起使用的列表中以構建列表。 (本網站的用戶應該有點熟悉:))動態添加項目到angularjs ng-repeat

當支持它的初始對象不爲null時,它會很棒。但是,當對象開始爲空,並且嘗試添加第一個項目(通過檢測null和scope。$應用初始化),則不會生成標記。

這裏是一個顯示我的意思。 http://plnkr.co/edit/Momlgpfy82kHRPwXGR8V?p=preview

在我的應用程序中,數據來自外部來源,所以我無法確保非空列表。我怎樣才能得到正確的響應數組初始化(和後來推)?

+0

你爲什麼不能初始列表設置爲'[]'而不是' null'? – 2013-04-09 00:10:45

+0

@JoshDavidMiller是的,我其實已經......原來是指令訪問列表中的一個錯誤......我實際上需要'eval(「scope。」+ attrs.draggableList)而不是'scope [ attrs.draggableList] – 2013-04-09 00:38:33

+0

你絕對不希望使用'eval',因爲這是不安全的。試試'scope。$ eval(attrs.draggableList)'代替:http://docs.angularjs.org/api/ng.$ro​​otScope.Scope。但請記住,這不是一個雙向綁定,如果您更改指令外的列表,它將不會更新。你的指令應該使用'$ observe'和一個隔離範圍。 – 2013-04-09 02:26:56

回答