2014-02-28 17 views
2

我有一个简单的页面,我试图使用JQuery Layout插件。该代码是:JQuery Layout与AngularJS

<!DOCTYPE html> 
<html ng-app="app"> 

<head> 
    <title>Layout Example</title> 
</head> 

<body> 


    <div class="ui-layout-center"> 
     Angular test: 
     <input type="text" ng-model="name" />{{name}} 
    </div> 
    <div class="ui-layout-north">North</div> 
    <div class="ui-layout-south">South</div> 
    <div class="ui-layout-east">East</div> 
    <div class="ui-layout-west">West</div> 


    <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script> 
    <script src="http://code.angularjs.org/1.2.13/angular.js"></script> 
    <script src="http://layout.jquery-dev.net/lib/js/jquery.layout-latest.js"></script> 

    <script type="text/javascript"> 
    var app = angular.module('app', []); 

    app.directive('body', function() { 
     return { 
     restrict: 'E', 
     link: function(scope, elm, attrs) { 
      console.log("applying layout"); 

      elm.layout({ 
      applyDefaultStyles: true 
      }); 
     } 
     }; 
    }); 
    </script> 

</body> 

</html> 

现在,当我尝试来包装UI布局容器,没有出现在屏幕上。不过,我可以在Web开发人员工具栏中看到布局的完整代码。代码是:

<!DOCTYPE html> 
<html ng-app="app"> 

<head> 
    <title>Layout Example</title> 
</head> 

<body> 

    <div class="wrapper"> 
    <div class="ui-layout-center"> 
     Angular test: 
     <input type="text" ng-model="name" />{{name}} 
    </div> 
    <div class="ui-layout-north">North</div> 
    <div class="ui-layout-south">South</div> 
    <div class="ui-layout-east">East</div> 
    <div class="ui-layout-west">West</div> 
    </div> 

    <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script> 
    <script src="http://code.angularjs.org/1.2.13/angular.js"></script> 
    <script src="http://layout.jquery-dev.net/lib/js/jquery.layout-latest.js"></script> 

    <script type="text/javascript"> 
    var app = angular.module('app', []); 

    app.directive('wrapper', function() { 
     return { 
     restrict: 'C', 
     link: function(scope, elm, attrs) { 
      console.log("applying layout"); 

      elm.layout({ 
      applyDefaultStyles: true 
      }); 
     } 
     }; 
    }); 
    </script> 

</body> 

</html> 

所以,看起来我无法正确传递类名称。什么应该作为类名传递以使其工作?谢谢

编辑:您可以复制和粘贴Plunker中的代码来查看问题。

回答

1

您对您的包装需要height

<div class="wrapper" style="height:500px;"> 

我想它适用于<body>因为<body>填充页面。

0

不熟悉JS-Layout,但它看起来不喜欢包装div(或任何其他包装元素)。

这可能不是您正在寻找的答案,但您可以将课程设置为正文,它将起作用。

http://plnkr.co/edit/l0ddGBcSZwTO18Q9RvBC