I've been having trouble figuring out why Angular is not binding data anywhere after the first pane of my Kendo-UI splitter.
Here is the relevant HTML, with extraneous uses of {{formData.hello}} to illustrate when the problem occurs:
<div ng-controller="MyCtrl">
<p>A = {{formData.hello}}</p>
<div id="idLeftRight">
<div>
<p>Content on the left.</p>
<p>B = {{formData.hello}}</p>
</div>
<div>
<p>Content on the right.</p>
<p>C = {{formData.hello}}</p>
</div>
</div>
<p>D = {{formData.hello}}</p>
</div>
The above shows "A = Hello world" and "B = Hello world", but "C = {{formData.hello}}" and "D = {{formData.hello}}".
If the second pane (the div containing "C =") is removed, so there is only one pane in the splitter, then "D = Hello world" appears as expected.
Here is the Javascript:
angular.module("app", [ "kendo.directives" ]);
function MyCtrl($scope) {
$scope.formData = {};
$scope.formData.hello = "Hello world";
$('#idLeftRight').kendoSplitter({
orientation: "horizontal",
panes: [
{ collapsible: false, size: "30%" },
{ collapsible: false },
]
});
}
Plunker: Kendo Splitter problem
However, if I change the div with ID "idLeftRight" to:
<div kendo-splitter
k-panes="[ { collapsible: false, size: '30%' } , { collapsible: false } ]"
k-orientation="horizontal">
then it works.
Why does kendoSplitter() behave differently to kendo-splitter? Am I doing something wrong?