angular中控制器之间的传值该怎么实现

 我来答
匿名用户
2016-10-12
展开全部
angular中控制器之间的传值该怎么实现
通过Angular的话可以通过下面四种方法 1、event 这里可以有两种方式,一种是$scope.$emit,然后通过监听$rootScope的事件获取参数;另一种是$rootScope.$broadcast,通过监听$scope的事件获取参数。 这两种方法在最新版本的Angular中已经没有性能区别了,主要就是事件发送的方向不同,可以按实际情况选择。 2、service 可以创建一个专用的事件Service,也可以按照业务逻辑切分,将数据存储在相应的Service中,因为已经有人提过了就不赘述了。 3、$rootScope 这个方法可能会比较dirty一点,胜在方便,也就是把数据存在$rootScope中,这样各个子$scope都可以调用,不过需要注意一下生命周期 4、直接使用$scope. www.hbbz08.com $$nextSibling及类似的属性 类似的还有$scope.$parent。这个方法的缺点就更多了,官方不推荐使用任何$$开头的属性,既增加了耦合,又需要处理异步的问题,而且scope的顺序也不是固定的。不推荐 另外就是通过本地存储、全局变量或者现代浏览器的postMessage来传递参数了,除非特殊情况,请避免这类方式。 最后 johnpapa/angular-styleguide · GitHub 这个代码风格可以参考一下,对代码的整体组织可以有些帮助 以上
一郎大神
2016-10-20 · TA获得超过1180个赞
知道小有建树答主
回答量:1033
采纳率:92%
帮助的人:317万
展开全部

可以直接通过url传递参数,然后通过对应的控制器的$routeParams来获取
例子:

$location.path('/detail/' + param);//先在跳转的url中插入传递的参数

$routeProvider.when('/detail/:param', {      
    controller : 'DetailController',
    templateUrl : '/static/xxx/detail.html'
})

$routeParams.param就可以获取到传递过来的param参数。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式