Javascript 跨作用域的控制器作用域
我有这个html结构Javascript 跨作用域的控制器作用域,javascript,angularjs,Javascript,Angularjs,我有这个html结构 <div kendo-splitter k-orientation="'horizontal'" k-panes='[{ collapsible: true, size: "15%" } , { collapsible: false } , { collapsi
<div kendo-splitter k-orientation="'horizontal'" k-panes='[{ collapsible: true, size: "15%" }
, { collapsible: false }
, { collapsible: true, size: "15%" }]' style="position: absolute; top: 5%; left: 0%; height: 80%; width: 100%">
<div>Incident</div>
<div ng-controller="layoutController">
Video
<nv-layout id="nv-layout" layout-entries="layoutEntries" on-selected="onSlotSelected" on-resize="onLayoutResized"></nv-layout>
</div>
<div>Sensors</div>
</div>
nv布局指令定义为
var directive = {
link: link,
restrict: 'EA',
scope: {
layoutEntries: "=",
selected: "&onSelected",
resized: "&onResized"
},
template: "<div></div>"
};
我想将控制器放在splitter div中,以便它能够侦听调整大小事件,无论何时我这样做,layoutEntries绑定断开,我可以添加控制器的位置是否有限制?当您坚持自定义指令时,Angular是最简单的。如果你愿意,我可以举个例子 要回答您的问题,我可以添加控制器的位置是否有限制 是的,它必须在您希望控制的代码之上。在您的示例中,在控制器的上方和下方都有角度代码。但是,您可以嵌套控制器。类似于
<div ng-controller="MainCtrl">
<div kendo-splitter k-orientation="'horizontal'" k-panes='[{ collapsible: true, size: "15%" }
, { collapsible: false }
, { collapsible: true, size: "15%" }]' style="position: absolute; top: 5%; left: 0%; height: 80%; width: 100%">
<div>Incident</div>
<div ng-controller="layoutController">
Video
<nv-layout id="nv-layout" layout-entries="layoutEntries" on-selected="onSlotSelected" on-resize="onLayoutResized"></nv-layout>
</div>
<div>Sensors</div>
</div>
</div>
另外,您可能希望遵循Angularjs样式指南,并在UpderCamelCase中标记控制器
以下是一个链接:
app.controller('MainCtrl',function($scope){
$scope.blah = 'blah'
});
app.controller('layoutController',function($scope){
$scope.blah = 'blah'
});