详细的解决方案使用$广播和发射角

详细的解决方案使用$广播和发射角
为了在控制器之间传递变量的变化,需要在广播中传递和以角方式发射$方法,而$ $用于接收事件和响应。

广播被翻译成无线电,即上级通过较低的水平。
示例代码:

Angular.module(的应用
控制器(子)
美元美元范围。(parentchange
$scope.change = changed;
scope.child美元= M;
})
})
控制器(父
美元。
如果(n = o){
返回;
}
美元美元范围。广播(parentchange
})
})

父级:{父} }
{更改}子:{ } }

使用$看监控亲值变化的代码,当变化将从parentchange事件广播传递参数输入值)的使用范围,美元。美元元域(parentchange,Handler)接收parentchange事件,然后接受输入值和指定子域孩子变,完成价值的转移。

uff1a效应

发射被转换为发射,也就是说,低层通过上级。
示例代码:

Angular.module(的应用
控制器(父
美元美元范围。(childchange
scope.change美元=改变;
scope.parent美元= M
})
})
控制器(子)
范围$
如果(n = o){
返回;
}
美元美元范围。发出(childchange
})
})

{更改}父级:{父} }

子:{ } }

当孩子的价值变化的因素,childchange将发给上级的事件,父元素的监测由美元(childchange)将响应传递参数分配给母公司,整个过程类似于广播。

uff1a效应

在上述所有域中都存在一个层次关系,如果要执行相同级别的作用域该怎么办呢

我们可以使用服务来广播事件:

Angular.module(的应用
服务(myservive 。
返回{
更改:函数(n){
rootscope美元。美元的广播(valuechange

}
}
})
控制器(Bro1 。
美元美元范围。看(中
MyServive.change(N);
})

美元美元范围。(valuechange
console.log(中);
scope.value1美元= M;
})
})
控制器(BrO2
美元美元范围。看(value2
MyServive.change(N);
})

美元美元范围。(valuechange
console.log(定);
scope.value2美元= M;
})
})
value1:
value2:

我们使用rootscope美元的服务,都属于它的范围,在此基础上,我们可以在根域广播事件,rootscope美元。美元的广播(valuechange,N);当改变方法,每个孩子在价值范围的变化,我们将在同一时间播出事件,每个领域,监测美元(valuechange )的事件,并做出相应处理,从而实现子域名价值的功能将被转移到兄弟的范围。

效果是:

以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部