Javascript $scope中的数据更改,但不在AngularJS中的指令内更新
我有以下指示:Javascript $scope中的数据更改,但不在AngularJS中的指令内更新,javascript,angularjs,Javascript,Angularjs,我有以下指示: 'use strict'; angular .module('rdash') .directive('rdWidgetBody', function(){ var directive = { requires: '^rdWidget', scope: { loading: '@?', classes: '@?', query: '@?' },
'use strict';
angular
.module('rdash')
.directive('rdWidgetBody', function(){
var directive = {
requires: '^rdWidget',
scope: {
loading: '@?',
classes: '@?',
query: '@?'
},
transclude: true,
template: '<div class="widget-body" ng-class="classes"><rd-loading ng-show="loading"></rd-loading><div ng-hide="loading" class="widget-content" ng-transclude></div></div>',
restrict: 'E'
};
return directive;
});
由于指令有一个隔离作用域,
标记中的{{total_apps}}
属性实际上位于作用域的不同部分,而不是您正在更新的部分。请尝试{{$parent.total_apps}}
访问父作用域中的属性
我的回答假设你是控制器中的设置
total_apps
,作用域是父对象。你能显示你正在修改的代码吗total_apps
?嗨,Shankar-刚刚添加了nowhi officert-谢谢-我试图用{$parent.total_apps}替换{{{{total_apps},在我看来我只看到了{}。你是对的,total_应用程序是在一个控制器中设置的-但是因为我使用ui路由器-我有嵌套页面-所以这个级别是第二级控制器Hi officert-你说你会调整你的答案吗?
<div class="row" data-ng-controller="AdminsController">
<div class="col-lg-3 col-md-6 col-xs-12">
<rd-widget>
<rd-widget-body>
<div class="widget-icon green pull-left">
<i class="fa fa-calendar"></i>
</div>
<div class="title">{{total_apps}}</div>//Not updating after changed somewhere else.
<div class="comment">Appointments</div>
</rd-widget-body>
</rd-widget>
</div>
</div>
$scope.appointmentsGetter = function(app_query){
Appointments.query(app_query).$promise.then(function(res){
$scope.appointments = res;
$scope.total_apps = $scope.appointments.length;
});
};