2

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()
      });

    }
  };
})
4

1 に答える 1

1

ディレクティブを使用しているため、探しているものは次のとおりです。

ngModel.$setViewValue('something');

リンク機能で。

于 2013-06-30T23:24:30.710 に答える