javascript
  • angularjs
  • 2014-01-19 194 views 0 likes 
    0

    我有这样的HTML结构控制器范围内跨范围

    <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>" 
        }; 
    

    我希望把控制器分离器DIV所以这将是能听调整大小的事件,如何当我做到了layoutEntries绑定打破,是否有限制,我可以添加控制器?

    回答

    0

    当您坚持自定义指令时,角度最容易。如果你想我可以提供一个例子。

    要回答你的问题“我可以在哪里添加控制器有限制吗?”

    是的,它必须高于您希望控制的代码。在您的示例中,您的控制器上方和下方都有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> 
    

    然后在你的js文件

    app.controller('MainCtrl',function($scope){ 
        $scope.blah = 'blah' 
    }); 
    
    app.controller('layoutController',function($scope){ 
        $scope.blah = 'blah' 
    }); 
    

    另外,你可能要遵循Angularjs风格指南和UppderCamelCase标记您的控制器。

    这里是一个链接:

    A Style Guide

    相关问题