2015-03-30 79 views
0

我有一个菜单,包含很多按钮。每次我点击一个按钮,我想要一个确定的控制器显示。用按钮处理多个控制器

我与AngularJs一个初学者,我无法找到“显示XXXXCtrl”

遗漏码是这里的代码:

app.controller('menuCtrl', function($scope) { 
    $scope.showtest = function(key, val) { 
     //display testCtrl 
    } 

    $scope.showCustomers = function(key, val) { 
     //display customersCtrl 
    } 
}); 

在这里看到完整的代码: http://plnkr.co/edit/tYFNcYwK8uEJzZGCPQxB?p=preview

一开始我只是customersCtrl了,谁显示数据从customersCtrl,所以{{x.titre}}和其他标签被显示的数据,但由于我添加了其他控制器,我不知道为什么{{x.titre}}未更换了

请帮帮忙,我是新来angularJs,这是一个有点复杂,我:(

+1

你的意思是你要能够为客户和测试控制器之间进行切换? – 2015-03-30 17:35:37

+0

是的,最终会添加其他控制器 – user 2015-03-30 17:37:36

回答

1

一种方法是让你的菜单控制器包含你试图隐藏/显示的两个视图。

<div ng-app="myApp" ng-controller="menuCtrl"> 
    <button href="#" ng-click="showtest()">display testCtrl</button> 
    <button href="#" ng-click="showCustomers()">display customersCtrl</button> 
    <div ng-controller="testCtrl" ng-show="showTestView">...</div> 
    <div ng-controller="customersCtrl" ng-show="showCustomerView">...</div> 
</div> 

然后在你的控制器,你可以做

$scope.showtest = function(key, val) { 
    $scope.showTestView = true; 
} 

$scope.showCustomers = function(key, val) { 
    $scope.showCustomerView = true; 
} 

http://plnkr.co/edit/k6YScPNv6SmxWuG3GIfv?p=preview

+0

大大的大谢谢! – user 2015-03-30 17:47:59

0

$route documentation看看。在页面末尾有一个关于通过路由导航切换控制器的很好的例子。

您可能会特别关注配置$ routeProvider的示例script.js。

让我知道这是否有帮助。

+0

我不知道这就是我想要的。因为我不想在控制器之间切换时更改网址 – user 2015-03-30 17:43:21

+2

@user您应该考虑使用它,以便用户可以将书签的状态添加为书签 – 2015-03-30 17:50:15

+1

也许这不是一个不改变网址的好主意,因为如果用户点击F5国家将会失去,从而导致糟糕的经历。但要这样说,我需要更多地了解你的背景。 – 2015-03-30 17:51:02