AngularJS:如何在控制器之间传递变量?我有两个角度控制器:function Ctrl1($scope) {
$scope.prop1 = "First";}function Ctrl2($scope) {
$scope.prop2 = "Second";
$scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do ideally}我不能用Ctrl1内Ctrl2因为它没有定义。但是,如果我试图像这样传递它,…function Ctrl2($scope, Ctrl1) {
$scope.prop2 = "Second";
$scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do ideally}我犯了个错误。有人知道怎么做吗?做Ctrl2.prototype = new Ctrl1();也失败了。注:这些控制器不是相互嵌套的。
3 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
简单服务示例:
angular.module('myApp', []) .service('sharedProperties', function () { var property = 'First'; return { getProperty: function () { return property; }, setProperty: function(value) { property = value; } }; });
在控制器中使用服务:
function Ctrl2($scope, sharedProperties) { $scope.prop2 = "Second"; $scope.both = sharedProperties.getProperty() + $scope.prop2;}
var property = { Property1: 'First' };
var property = 'First';
.
最新情况:
绑定到共享值的静态副本(在myController 1中)
绑定到原语(字符串) 绑定到对象的属性(保存到范围变量) 绑定到更新后更新UI的共享值(在myController 2中)
绑定到返回原语(字符串)的函数 绑定到对象的属性 双向绑定到对象的属性
添加回答
举报
0/150
提交
取消