Angularjs如何从UI中更改$rootScope变量
Angularjs how to change $rootScope variables from UI
我正在制作一个动态的网页与角,从主页的内容应该改变,但为了避免写太多的代码,我决定使其通用,但要知道什么类型的内容被请求,我需要从链接/按钮发送这个参数与ng-click,这不会是一个问题,但当我必须改变控制器我不能读取参数。
ng-click="name='Name change'"
这里我试图改变$rootScope变量名为name,我尝试
ng-click="$rootScope.name='Name change'"
甚至有一个服务功能,但看起来不工作(我不太了解angularjs,所以我尝试了)
ng-click="$service.cambiarTipo='Name change'"
我做了一个活塞http://plnkr.co/edit/1BN76SbUAHuOSHs02gpL?p=preview
如果你检查控制台日志,你会看到变量它是未定义的,显然,如果我从一个控制器改变$rootScope.name,我可以从另一个控制器看到它,但这是没有用的,因为我需要从用户而不是控制器的饲料。
我怎么能改变一个rootScope变量从html?
这是一个在两个控制器之间使用共享服务而不使用$rootscope的例子。http://plnkr.co/edit/maKNHgVH20GxTJeCEveh
注意ng-click调用的是业务函数。我假设这个函数是用来更改名称的。
ng-click="service.cambiarTipo('Name change')"
您真的不应该那么频繁地使用$rootScope,更不用说从模板中修改它了。也就是说,您可以将$rootScope分配给$scope变量,并像普通的作用域变量一样从模板中访问。恰好
控制器:$scope.rs = $rootScope
模板:rs.name = 'Name Change'
我想重申,这不是你应该做的事情,因为它违背了角度的方式。
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- $rootScope变量未定义
- 如何从指令模板 URL 访问$rootScope变量
- 从指令访问$rootScope变量
- ng-init 与$rootScope变量,初始化问题
- 如何从变量中设置$scope值$rootScope
- 来自$rootScope数据的变量也会修改$rootScope数据
- 将输入值按角度传递给$rootScope变量
- 离子列表中$rootScope变量上的无限滚动
- AngularJS-$rootScope变量初始化失败
- 如何打印$rootScope变量
- 在状态导航时更新rootScope变量
- 角度指令变量未发送回rootscope
- Angular在$locationChange期间不会读取$rootScope变量
- Angularjs如何从UI中更改$rootScope变量
- Angular的$scope变量在通过$rootScope.$on调用后没有更新
- 指令模板中的$rootScope变量
- AngularJS $rootScope变量存在,但不可访问