4 回答
TA贡献1856条经验 获得超17个赞
静态方法中不能调用非静态属性 要么将 要调用的属性修改为静态 要么创建对象后调用,方法如下: static void Main() { Program p=new Program(); p.a="aaa";p.b="bbb"; }控制器里面的方法怎么互相调用
TA贡献1810条经验 获得超5个赞
指令和控制器的交互 指令复用 滑动加载 上面的代码平淡无奇,有个控制器有个指令(loader),下面可以看到我们通过 directive创建了这个指令,并且我们通过link的方法给他赋值鼠标事件(mouseenter)。angularjs怎么实现不同控制器下的div绑定
TA贡献1843条经验 获得超7个赞
有时需要两个controller相互通信,我学习到的两个controller之间的通信是:父级controller通过广播向子controller传递信息,而子controller通过冒泡向父级controller传递信息。假如不是两个controller的话,可以构造一个父级controller,然后通过它来广播信息。还有一种是通过工厂模式来注册一个服务,通过服务来传递信息。而所说的冒泡和广播就是angularjs的$emit和$broadcast,通过这两种方法的话,要绑定事件,才可以进行广播或者冒泡。
下面这种是$emit和$broadcast
假如是父级controller和子controller的通信的话,也可以用$watch()来监控你要的信息。不过只能子级的监控父级。$watch("tag",function(){});tag是你要监控的变量了。
TA贡献1797条经验 获得超4个赞
举例:
.controller('a',['scope',$rootScope',function($scope,$rootScope){
$rootScope.u=$scope.username1
}]);
.controller('b',['scope',$rootScope',function($scope,$rootScope){
$scope.username2=$rootScope.u
}]);
说明:通过父子作用域来传递,a中的username1通过子作用域传递给父作用域$rootScope,然后在b中通过父作用域$rootScope传递给b中的username2,从而实现两个controller之间的数据传递
- 4 回答
- 0 关注
- 1559 浏览
添加回答
举报