Как хранить и загружать соединения jsplumb (используя AngularJS и jsPlumb)

Может ли кто-нибудь помочь мне, как хранить и загружать соединения, а также размещать якоря jsplumb и anjular js.

Пожалуйста, проверьте ссылку на изображение ниже (http://i.stack.imgur.com/YC1PR.jpg< /а>).

1-й образ без подключений, второй с подключениями.

когда я перезагружаю страницу, мне все равно нужно получать соединения в тех же местах


person user3876350    schedule 07.08.2014    source источник


Ответы (1)


Всякий раз, когда соединение устанавливается, "соединение"(ИСТОЧНИК) событие срабатывает. Вам нужно сохранить сведения о конечных точках подключения в этой активированной функции, чтобы вы могли получить их позже.

Сначала убедитесь, что вы установили правильный идентификатор для своих конечных точек. Вы можете вручную установить во время создания конечной точки как:

var e0 = jsPlumb.addEndpoint("div1",{uuid:"div1_ep1"}),  // You can also set uuid based on element it is placed on
 e1 = jsPlumb.addEndpoint("div2",{uuid:"div2_ep1"});

Теперь привяжите событие connection, где вы будете хранить информацию об установленных соединениях:

var uuid, index=0; // Array to store the endpoint sets.
jsPlumb.bind("connection", function(ci) {
    var eps = ci.connection.endpoints;
    console.log(eps[0].getUuid() +"->"+ eps[1].getUuid()); // store this information in 2d-Array or any other format you wish
    uuid[index][0]=eps[0].getUuid(); // source endpoint id
    uuid[index++][1]=eps[1].getUuid(); // target endpoint id
    }
});

Вы можете преобразовать информацию массива в формат JSON и сохранить на стороне сервера. Когда страница обновляется, вам нужно получить данные JSON и восстановить соединение. Для подключения конечных точек на основе uuid используйте:

jsPlumb.connect({ uuids:["div1_ep1","div2_ep1"] });

Вот jsFiddle для установления соединений на основе конечных точек.

person MrNobody007    schedule 07.08.2014
comment
Привет, я пытался сохранить этот console.log(eps[0].id +-›+ eps[1].id); значения в 2d-массиве. но я не могу хранить. не могли бы вы мне помочь... - person user3876350; 08.08.2014
comment
@user3876350 user3876350 Я не хотел сохранять весь оператор, просто сохранил значения eps[0].getUuid() и eps[1].getUuid() в массиве. - person MrNobody007; 08.08.2014
comment
Привет, Прутви, я пытался сохранить значения в массиве, но каждое соединение загружается в отдельный массив, как сохранить все соединения в одном массиве, - person user3876350; 08.08.2014
comment
Включите свой код в jsFiddle и предоставьте ссылку, чтобы помочь вам лучше! - person MrNobody007; 08.08.2014
comment
привет, пожалуйста, проверьте строку № - 225 в блоке javascript - person user3876350; 08.08.2014
comment
Вам нужно сделать uuid глобальной переменной, поскольку в ней будут храниться все наборы конечных точек соединения. Проверьте обновленный ответ. Также убедитесь, что вы установили правильный UUID для конечных точек во время их создания. - person MrNobody007; 08.08.2014