2016-01-13 2 views
0

Следуя моему предыдущему вопросу: How get the value of this polymer element ?, мне нужно удалить элемент из словаря, который передаю как атрибут, когда я импортирую этот пользовательский элемент в другой пользовательский элемент.Невозможно удалить элемент из словаря

проточный элемент

<script> 
Polymer({ 
    is: 'flow-element', 
    properties: { 
    dict: { 
     type: String, 
     notify: true 
    }, 
    name: { 
     type: String 
    }, 
    kind: { 
     type: String 
    } 
    }, 

    handleClick: function() { 
    console.log('clicked: ' + this.name); 
    // the output does work 
    console.log('Dict before ::' + JSON.stringify(this.dict, null, 4)); 

    // this does NOT work 
    delete this.dict[this.name]; 

    // the output does work, but dictionary is unchanged 
    console.log('Dict after ::' + JSON.stringify(this.dict, null, 4)); 

    } 
}); 
</script> 

проточный список

<flow-element dict={{flowDictionnary}} name="{{item.first}}" kind="{{item.last}}"></flow-element> 

Я могу получить доступ к словарю (напечатать его содержание), но по какой-то причине, я не могу удалить любой предмет из него.

Исследование

Это работа: delete this.dict[0]; (ну элемент заменить null)

Перед

{ 
    "first": "Bob", 
    "last": "Smith" 
} 
{ 
    "first": "Sally", 
    "last": "Johnson" 
} 

После

null, 
{ 
    "first": "Sally", 
    "last": "Johnson" 
} 

Однако , список, отображающий элемент словаря, не обновляется, а элемент остается на экране.

ответ

0

Вы пытались использовать this.splice(path, start, deleteCount)?
Вы должны использовать его следующим образом:
this.splice("dict", index, 1) где index относится к положению элемента для удаления. Дополнительная информация о полезных функциях push, pop, splice и других полимерах here.

+0

Большое спасибо! ... И у меня есть еще одна проблема: http://stackoverflow.com/questions/34772535/polymer-not-removing-deleted-element – JeanRene

Смежные вопросы