控制器1中的html元素:
控制器1中的controller部分:
app.controller('showQ2', function($scope, $http, $rootScope) {
$scope.QidShow = function(Qid){
$rootScope.tmp = Qid;
}
});
控制器2js部分:
app.controller('QInfo',function($scope, $http, $rootScope){
$http.get(QInfoURL).success(function(data){
var Qid = $rootScope.tmp;
alert($rootScope.tmp);
});
})
alert为undefined~
求解释~~~
通俗的讲app.controller('showQ2',和app.controller('QInfo',相当于java类中的两个方法。$rootScope.tmp = Qid;在app.controller('showQ2',方法内,而alert($rootScope.tmp);在app.controller('QInfo',方法内,局部声明的变量在其他方法中当然是undefined
/*常量*/
$rootScope.common = {
enabledStatus: [{code: false, name: '禁用'}, {code: true, name: '启用'}],
busTypeCodes: [],
taskTypeCodes: []
};
/*查询监控业务类型*/
service.getMonitorBusType().then(function (data) {
$rootScope.common.busTypeCodes = data;
});
/*查询监控业务类型中任务类型*/
$rootScope.btcChange = function (busTypeCode) {
service.getMonitorBusTypeBybusTypeCode(busTypeCode).then(function (data) {
$rootScope.common.taskTypeCodes = data;
});
};
QidShow这个方法执行了吗?如果没执行,建议把$rootScope.tmp放到函数外面,并且给一个初始值,不然他就是一个未定义的值,自然取不到,javascript是函数级作作用域