0
我想時間值分爲2個部件,時間和經絡設置一個選擇的價值,但有他們兩個鏈接到同一個NG-模型值。我的想法是對值進行驗證,從而對值進行相應的格式化和解析。但我似乎無法設置驗證器指令中選擇框的選定選項。如何從格式化的angularjs
我有一個選擇,我用下面的陣列
$scope.timeMeridians = [ {id:'am', value:'AM'},
{id:'pm', value:'PM'}];
和指令作是如下
<select ng-model="editingEvent.start_date_time"
ng-options="option as option.value for option in timeMeridians"
ub-meridian-validator>
,至今驗證骨架...填充
angular.module('app.MeridianValidator',[])
.directive('ubMeridianValidator',function($timeout){
return {
require: 'ngModel',
link: function(scope, elem, attrs, ctrl){
var valueType;
// sets model based on view
ctrl.$parsers.unshift(function(viewValue){
return moment().format('YYYY-MM-DD HH:mm Z');
});
// set the view format
ctrl.$formatters.unshift(function(viewValue){
return scope.timeMeridians[0];
});
}
};
NB我現在硬編碼選擇邏輯,直到我看到價值變化。
所以現在基本上,無論傳遞給它什麼值,viewValue格式化程序應該返回timeMeridians [0](這是'AM'),但我不會更改視圖中的值...
我已經創建了一個輸入旁邊,它是有線它在重複的動作,所有的變化顯示有蠻好的,由timeMeridians數組中引用的位置設置選擇值的這種方法工作正常從控制器,那爲什麼不在格式化指令中?
請幫助:)