2015-04-20 29 views
0

我有一个通过工厂抓取数据的控制器。该工厂被附加到正在担任了由Laravel 5角度部分 - 从控制器调用可能吗?

function HomeCtrl($scope, AccountService) { 

    $scope.accounts = []; 

    $scope.loadAccounts = function() { 
     AccountService.getData('account', 'active').then(function (data) { 
       $scope.accounts = data; 
      } 
     ); 
    }; 

    $scope.loadAccounts(); 
} 

controllersModule.controller('HomeCtrl', HomeCtrl); 

我想这是什么控制器要做的就是调用的局部视图和饲料$scope.accounts成局部视图的API。

这里是我的首要HTML文件看起来像应该在部分负荷:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <!--title('{{title}}')--> 
    <meta name="description" content="{{description}}"> 
    <meta name="keywords" content="{{keywords}}"> 
    <meta name="author" content=""> 
    <meta name="viewport" content="width=device-width,initial-scale=1"> 
    <link rel="stylesheet" href="css/main.css"> 
    <link rel="stylesheet" href="css/handheld.css" media="screen and (min-width:0px) and (max-width:1024px)"> 
    <link rel="stylesheet" href="css/tablet.css" media="screen and (min-width:768px) and (max-width:1024px)"> 
    <link rel="stylesheet" href="css/mobile.css" media="screen and (max-width:767px)"> 
    <base href="/"> 
    </head> 
    <body> 
    <div id="wrapper"> 
     <header id="header"> 
     <div class="page clearfix"> 
      <div class="top"> 
      <ul> 
       <li><a href="">khaccsupport</a></li> 
       <li><a href="">khaccsupport</a></li> 
       <li><a href="">[email protected]</a></li> 
      </ul> 
      </div><a href="/" class="logo"><img src="../images/logo.png"></a> 
      <section class="secondary-header"> 
      <nav class="navigation"> 
       <ul> 
       <li class="top-link"><a href="buy-world-of-warcraft-wow-accounts/" class="top-link">Buy WoW Accounts</a></li> 
       <li class="top-link"><a href="sell-wow-accounts/" class="top-link">Sell WoW Accounts</a></li> 
       <li class="top-link"><a href="customer-reviews-feedback" class="top-link">Reviews/Feedback</a></li> 
       <li class="top-link"><a href="buy-sell-wow-accounts-faq" class="top-link">FAQ</a></li> 
       </ul> 
      </nav> 
      </section> 
     </div> 
     </header> 
     <div class="fb-frame"> 
     <iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Fkhaccounts&amp;amp;width=450&amp;amp;height=35&amp;amp;colorscheme=light&amp;amp;layout=standard&amp;amp;action=like&amp;amp;show_faces=false&amp;amp;send=true" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowtransparency="true"></iframe> 
     </div> 
     <div class="content"> 
     <div class="page"> 
      <div ui-view></div> 
     </div> 
     </div> 
     <div class="footer-wrapper index-page"> 
     <footer id="footer"> 
      <div class="page"> 
      <div class="footer-content clearfix"> 
       <div class="links-wrapper clearfix"> 
       <section class="footer-links nav"> 
        <h4>Navigation</h4> 
        <ul> 
        <li><a href="/buy-world-of-warcraft-wow-accounts">Buy High End Elite Premium WoW Accounts</a><br><a href="/sell-wow-accounts">Sell High End Elite Premium WoW Accounts</a><br><a href="/">High End Elite Premium WoW Accounts For Sale</a><br><a href="/customer-reviews-feedback">KHAccounts.net Customer Reviews & Feedback</a><br><a href="/buy-sell-wow-accounts-faq">KHAccounts.net Buy & Sell WoW Accounts FAQ</a></li> 
        </ul> 
        <ul> 
        <li></li> 
        <div class="secondary-footer"><a href="" class="footer-logo"><img src="../images/footer-logo.png"></a><span class="copyright">©2015 Knucklehead Accounts -- All Rights Reserved.</span></div> 
        </ul> 
       </section> 
       <section class="footer-links reference"> 
        <h4>Referral Links</h4> 
        <ul> 
        <li><a href="http://www.maskedarmory.com">Anonymous WoW Armory Profiles</a><br><a href="http://www.maskedcrusader.com">Trade WoW Accounts</a><br><a href="http://www.maskedcrusader.com/buy-sell-trade-mmorpg/">MMO Game Account Trading</a><br><a href="http://www.maskedcrusader.com/buy-sell-trade-world-warcraft-wow/">WoW Trading Forum</a></li> 
        </ul> 
        <ul> 
        <li><a href="https://www.arenarating.com/category/rbg-rating-boost/world-of-warcraft/">RBG Rating Boost</a><br><a href="https://www.arenarating.com/category/arena-boost-3v3/world-of-warcraft/">Arena Rating Boost</a><br><a href="http://www.twinkinfo.com">TwinkInfo.com</a><br><a href="http://www.twinkinfo.com/forums">TwinkInfo.com Forums</a><br><a href="http://www.twinkinfo.com/forums/f200/">Twinking Guides</a></li> 
        </ul> 
       </section> 
       </div> 
      </div> 
      </div> 
     </footer> 
     </div> 
    </div> 
    <script src="js/main.js"></script> 
    </body> 
</html> 

而且,我不希望把一个控制器名称上的DIV,因为我想重用此包装器每一页。唯一需要改变的是当用户导航到新页面或不在时,ui-view中的内容。

我不知道这一切是否可能,但我想我会给它一个镜头。

请让我知道如果您有任何问题,因为我敢肯定,我没有解释这一切正确...

+0

控制器约为范围的数据,因此你是什么意思“我想这个控制器要做的就是调用的局部视图和饲料$ scope.accounts到该部分视图。“ – ABOS

回答

0

您需要使用NG-include指令,如果您计划包括谐音。看看这个Plunker作为参考。

<div ng-include="'HomePartial.html'"></div> 

将包含您的家庭HTML标记。在这部分内部,您需要将控制器HomeCtrl。

<div ng-controller="HomeCtrl"> 
    <h1>Home Partial</h1> 
</div> 

这使您可以保持外部HTML标记尽可能通用,并使用偏分量进行分割和征服。您可以根据需要在运行时更改ng-include(或更好地使用路由)。

0

您可以使用ng-route来处理控制器与视图的关联。您不需要在路由本身中指定控制器。

<div class="container"> 
<h1>ng-route</h1> 

<ul class="nav nav-tabs"> 
    <li><a href='#view1'>View 1</a></li> 
    <li><a href='#view2'>View 2</a></li> 
</ul> 

<div ng-view></div> 
</div> 

<script type=text/ng-template id=partial/view1.html> 
    <h3>View1</h3> 
    <div>{{data}}</div> 
</script> 

<script type=text/ng-template id=partial/view2.html> 
    <h3>View2</h3> 
    <div>{{data}}</div> 
</script> 

的Javascript

angular.module('app', ['myModule', 'ngRoute']) 
.config(function ($routeProvider) { 
    $routeProvider 
    .when('/view1', {templateUrl: 'partial/view1.html', controller: 'ctrl'}) 
    .when('/view2', {templateUrl: 'partial/view2.html', controller: 'ctrl2'}) 
    .otherwise({redirectTo: 'view1'}) 
}); 

angular.module('myModule', []) 
    .controller('ctrl', function ($scope) { 
    $scope.data = 'Some data for view1'; 
}) 
    .controller('ctrl2', function ($scope) { 
    $scope.data = 'Some data for view2'; 
}); 

观看演示上的jsfiddle http://jsfiddle.net/neridum/whLa8k6k/

相关问题