Я посмотрел, что кажется повсюду, но, возможно, это слишком очевидно, и никто не упоминает об этом, но я делаю приложение для Windows 8, и я хочу, чтобы пользователь мог редактировать данные.
Допустим, что я пытаюсь сделать список To-Do, я хочу, чтобы пользователь мог добавлять записи. Для моего текущего приложения с фиктивными статическими данными у меня есть эти записи, хранящиеся в массиве в файле javascript. Должен ли я просто заставить пользователя иметь возможность добавлять/редактировать/удалять записи в массиве или использовать другой метод?
Если бы кто-то мог связать мне какой-то материал для чтения или пример, который показывает, что я ищу, это было бы очень полезно.
Это зависит от используемой вами структуры JavaScript. Предполагая, что вы используете Microsoft WinJS, то, что вы ищете, это "привязка данных". Это позволяет привязать объект или массив к "элементу управления" и автоматически обновлять его. Затем вы просто работаете с массивом, добавляете, удаляете, сортируете элементы. Связывание данных автоматически отражает эти изменения в шаблоне.
Вот краткий пример привязки данных из собственной документации MSDN:
<div id="listDiv"
data-win-control="WinJS.UI.ListView"
data-win-options="{ itemDataSource : dataList.dataSource }">
</div>
<script type="text/javascript">
var dataArray = [
{ name: "Marley", species: "dog" },
{ name: "Lola", species: "cat" },
{ name: "Leo", species: "dog" },
{ name: "Izzy", species: "cat" },
{ name: "Ziggy", species: "cat" },
{ name: "Ruby", species: "dog" }
];
var dataList = new WinJS.Binding.List(dataArray);
WinJS.UI.processAll();
</script>
Вы можете увидеть больше здесь: http://msdn.microsoft.com/en-us/library/windows/apps/hh700774.aspx
Каждая инфраструктура JavaScript делает это немного по-другому. Например, AngularJS позволит вам привязать массив к списку следующим образом:
<ul>
<li ng-repeat="item in list">{{item.name}}</li>
</ul>
Где "список" - это имя массива объектов в вашей области, элемент - это один объект в массиве, а item.name - это строка с именем одного объекта. Синтаксис отличается, но еще раз вы просто манипулируете массивом, и он будет отражен в полученном HTML.