angularjsモデルにデフォルト値を設定するにはどうすればよいですか? 可能であれば、次のようなものを探しています。
div.form-multiple(ng-model='story.r || []', form-multiple="form-multiple")
現在story.r
は未定義です。事前に埋めておきたい。
これが私の指示です。ここで奇妙なのは、$modelValue が既に配列を持っている場合は問題なく機能しますが、未定義の場合は機能しないことです。
.directive('formMultiple', function() {
return {
require: '?ngModel',
link: function(scope, elm, attr, ngModel) {
if (!ngModel)
return
function pushIntoArray () {
if(ngModel.$modelValue && elm.find('input:last').val() != '') { // this works fine
ngModel.$modelValue.push(scope.formMultipleDefault)
scope.$digest()
}
else if (!ngModel.$modelValue) {
ngModel.$modelValue = [scope.formMultipleDefault] // this block does nothing
console.log(ngModel) // returns $modelValue undefined.
}
}
pushIntoArray()
elm.on('blur', 'input', function() {
pushIntoArray()
});
}
};
})