JsRender+ JsViews | Как $.observable().insert во внутренний массив объектов

Пример JSON: https://gist.github.com/mekkoo/6604902

Я хочу использовать метод $.observable().insert для объекта внутреннего массива «элементов». но я посмотрел ошибку «Uncaught TypeError: Object # has no method 'insert'» при вызове метода

pages = //Sample JSON $.ajax calling
$.observable(pages).insert(pages.length, {
    //I want this data to insert to "items" array
    "item": {
        "id":  3,
        "item_name": "Item Name 3",
        "item_desc": "Item Desc 3",
        "item_img": "http://example.com/sample.png"
    },
    "values": [
        {
            "id": 0,
            "key_id": 0,
            "value": "Value 0"
        },
        {
            "id": 1,
            "key_id": 1,
            "value": "Value 1"
        },
        {
            "id": 2,
            "key_id": 2,
            "value": "Value 2"
        }
    ]
});

person mekkoo    schedule 18.09.2013    source источник


Ответы (1)


Вам просто нужно указать свойство «items» при построении наблюдаемого:

$.observable(pages.items).insert(pages.items.length,{...});

В исходном примере вы пытаетесь вставить в корневой объект «страницы», который не является массивом.

person Ben    schedule 18.09.2013