Angular v1.2.17angularjs不消化的範圍?
我正在使用過濾器創建輸出格式化指令。 我在另一個使用該指令。
我的問題是,當父指令中的值發生更改時,指令不會更新DOM。
我使用scope.$watch
訂閱的value
變量。
app.directive('mdmFormattedOut', ['$filter', 'appSettingsService', function($filter, appSettingsService){
return{
restrict: 'A',
replace: true,
template:'<span ng-bind="valueToDisplay"></span>',
scope:{
value: '=',
datatype: '='
},
link: function(scope){
scope.$watch('value', format());
function format(){
switch(scope.datatype){
case 'date':
scope.valueToDisplay = $filter('date')(scope.value, appSettingsService.dateFormat);
break;
case 'currency':
scope.valueToDisplay = $filter('currency')(scope.value, appSettingsService.currency);
break;
default:
scope.valueToDisplay = scope.value;
break;
}
}
}
};
}]);
如果我ng-bind="value"
取代ng-bind="valueToDisplay"
那麼一切都很好。
有什麼問題?爲什麼手動訂閱不起作用?
你是怎麼創造這個的? '
'? –