Я использую этот https://github.com/blackgate/bg-splitter для создания горизонтальных и вертикальные разделители стекла. (Полный код находится в созданном мной plunkr)
С тех пор, как я начал его использовать, у меня возникла проблема с двусторонней привязкой контроллера и директивы.
Директива имеет две переменные, listData и selectedOption:
template: '<select ng-model="selectedOption" ng-options="l.name for l in listData" class="form-control"></select>',
scope: {
listData: "=",
selectedOption: "="
},
Контроллер имеет эти переменные и имеет функцию наблюдения за изменениями:
$scope.listdata = [{id : 1, name : "listitem1"},{id : 2, name : "listitem2"},{id : 3, name : "listitem3"}];
$scope.selectedOption = null;
$scope.$watch('selectedOption', function() {
console.log('updating selected choice');
console.log($scope.selectedOption);
}, true);
И директива используется как:
<dropdown list-data="listdata" selected-option="listItem"></dropdown>
Без paneSplitter выпадающее меню работает. По какой-то причине, когда связанная переменная обновляется в раскрывающемся списке, она не обновляется в контроллере. Вероятно, это проблема масштаба, но я не могу понять это сам. Любая помощь приветствуется. См. следующий plunkr с полным кодом: