angularjs调用另一个控制器's函数
angularjs call another controller's function
我有一个包含以下ons项的ons列表:
<ons-list-item style="font-family:roboto;font-size:17px" ng-class="{'selected-menu':selectedRow==0,'no-selected':selectedRow!=0}"
modifier="tappable" class="list__item__line-height"
onclick="app.slidingMenu.setMainPage('principal.html', {closeMenu: true})"
ng-click="principal(0)">
<i class="fa fa-home fa-lg"></i>
Principal
</ons-list-item>
<ons-list-item style="font-family:roboto;font-size:17px" ng-class="{'selected-menu':selectedRow==1,'no-selected':selectedRow!=1}"
modifier="tappable" class="list__item__line-height"
onclick="app.navi.pushPage('ingreso.html', { animation : 'slide' } );app.slidingMenu.closeMenu()"
ng-click="principal(1)">
<i class="fa fa-car fa-md"></i>
Nuevo Registro
</ons-list-item>
等等。。。
我有一个名为principal()的函数,它所做的是更改"$scope.selectedRow",以便该项更改类。我需要访问该函数,这样我就可以从另一个控制器更改类,我已经检查了其他问题的一些答案,但我一直做不好,有办法解决这个问题吗?
这是我的主要()函数:
$scope.principal = function(item){
$scope.selectedRow = item;
}
在您正在使用的控制器中添加函数。而不是像这个那样点击一个按钮
ng-click="principal(item)"
正如SSH所建议的那样,我最终使用了广播,因此这归功于他,我所做的是:
申报我的控制器像:
module.controller('Ingreso', ['$scope','$rootScope',function($scope,$rootScope){
里面有一个广播事件:
$rootScope.$broadcast("ingresing");
和从菜单控制器(相同声明):
module.controller('Principal', ['$scope','$rootScope', function($scope,$rootScope) {
并收听briadcasted事件:
$rootScope.$on("ingresing", function(){
$scope.selectedRow = 1;
});
非常感谢你的帮助!
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 如何在Javascript函数调用中循环变量
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何远程检查JavaScript应用程序的函数调用堆栈
- javascript函数调用不起作用
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 如何通过函数调用设置图像的src
- 从全局函数调用Ember控制器上的方法
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- JavaScript函数调用(arg1)(arg2)
- 打印链接时,将javascript函数调用到链接中
- 在函数调用中封装数据除了隐藏数据之外还有什么优点
- 无法从JavaScript中的函数调用对象属性
- 对中的函数调用进行排序是回调的唯一方法
- 函数调用方法有什么用
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- HTML5(Bootstrap)通过函数调用运行动画
- 函数调用不起作用
- 函数中的Javascript函数调用