我是新来angularjs.presently我建立spa使用angularjs和mvc4。 我可以在angularjs的不同视图中使用$ scope变量吗? Plz帮助我。
回答
$ scope仅限于控制器。尝试使用$rootScope。
Angular $ scope是原型继承的子范围,因此基本上可以有一个父$范围,它在几个子范围之间共享。
<div ng-controller="parentController">
<div ng-include="view1.html"></div>
<div ng-include="view2.html"></div>
</div>
这里parentController
可以被两个视图访问。
为什么-1 ........? –
要在不同控制器之间通信变量,请注册factory
,然后在每个控制器中将工厂对象传递给$ scope。
简单的演示http://plnkr.co/edit/PdDmUz?p=preview
更新:另一个演示中,表示使用服务/工厂不同视图单可变使用。 http://plnkr.co/edit/P2UudS?p=preview
的index.html
<body ng-controller="MainCtrl">
<h3>Controller 1</h3>
Check me, to check both:
<input type="checkbox" ng-model="selected.data" />
<pre>selected.data: {{selected.data}}</pre>
<h3>Controller 2</h3>
<div ng-controller="MainCtrl2">
Or, check me:
<input type="checkbox" ng-model="selected2.data" />
<pre>selected2.data: {{selected2.data}}</pre>
</div>
</body>
app.js
app.controller('MainCtrl', function($scope,uiFieldState) {
$scope.selected = uiFieldState.uiObject;
})
app.controller('MainCtrl2', function($scope,uiFieldState) {
$scope.selected2 = uiFieldState.uiObject;
})
app.factory('uiFieldState', function() {
return {uiObject: {data: null} }
});
我的问题是如何使用单个$ scope变量在不同的视图中使用不同的controller.For示例我有一个Employee控制器和两个视图Employeelist.html和EmployeeDetails.html.In雇员控制器我有两个范围变量$ scope.Employeelist使用在EmployeeList和$ scope.Employee中使用EmployeeDetails.html .But在我的情况下,EmployeeDetails.html不能绑定到$ scope.candidate.I已经检查了Batarang.Data从服务器正常到来。 – amitabha
工厂会将变量传递给另一个视图中的单个$作用域。不同的视图必须有一个$ scope的控制器,所以我发布的内容将起作用。 – cheekybastard
- 1. AngularJs一个控制器为多个DOM /范围
- 2. AngularJS从另一个控制器继承一个范围
- 3. 两个控制器,角度范围内的一个变量
- 4. AngularJS:从antoher控制器修改范围
- 5. AngularJs $范围内的变量是后期当控制器负载
- 6. AngularJS设置NG-控制器范围内的变量
- 7. 避免在不同的控制器重复范围变量AngularJS
- 8. 单变量和多个控制器
- 9. 设置另一个控制器范围的变量,而无需使用angular.element(Angularjs)
- 10. 控制变量范围
- 11. 范围变量AngularJS
- 12. AngularJS变量范围
- 13. 范围为单个控制器,多个视图
- 14. angularjs:控制器劫持另一个控制器的变量
- 15. 这指的是Angularjs中另一个控制器的$范围
- 16. 安装$监视AngularJS中的多个范围变量
- 17. 控制器通$范围值到另一个控制器
- 18. 从一个控制器到另一个控制器的变量
- 19. AngularJS更新另一个控制器的范围数据
- 20. 角范围变量和正常的控制变量
- 21. 将范围变量从指令传递到它的控制器
- 22. 如何从控制器中的指令获取范围变量?
- 23. 访问范围变量从控制器的指令在angular.js
- 24. 如何从控制器的功能给范围变量赋值
- 25. Angularjs - 薪火$范围控制器
- 26. AngularJS 1.5.8:控制器和范围
- 27. PHP:多个foreach中的变量范围
- 28. 多个调用的JavaScript变量范围
- 29. AngularJS变量依赖于范围内的另一个变量
- 30. 如何从AngularJS的另一个控制器中的一个控制器中清除范围?
你可以在你的变量存储在服务或在rootScope,服务优选作为污染rootScope是角度不好的做法。 –
增加了另一个演示,显示不同视图中的单个变量 – cheekybastard