2017-10-06 11 views
1

現在、私はng-jsoneditorを使用しています。AngularJS JSONエディタを編集可能に切り替えます

状態を編集可能から読み取り専用に切り替えることを試みています。

readonlyプロパティを設定するには、optionsプロパティのonEditableプロパティを指定する必要があります。例えば:

$scope.obj = { 
      data: json, 
      options: { 
       mode: 'tree', 
       onEditable: function(){return false;} 
      } 
    }; 

私は、しかし、私は切り替えるonEditableプロパティを取得することはできません、modeプロパティを切り替えるためにchangeOptionsプロパティを取得することができています。私は'code'モードの間にユーザーがjsonを編集する機能を持つことを望みます。これは私が試したものです:

$scope.changeOptions = function() { 
     $scope.obj.options.mode = $scope.obj.options.mode == 'tree' ? 'code' : 'tree'; 
     $scope.obj.options.onEditable = $scope.obj.options.onEditable == function(){return false;} ? function(){return true;} : function(){return false;}; 
    }; 

JsFiddle Example

答えて

1

編集:

はかなり私の悪い、最初にあなたの質問を取得できませんでした。

あなたの例では間違っていたのは、機能定義の変数をチェックしていましたが、これはまったく機能しません。onEditable()です。

だから何私がやったことのモードがtreecodeであるならば、ng-jsoneditoronEditableオプションに機能を割り当てて確認しました。

ここに更新されたfiddleがあります。

PS:私もいくつかのコードを消去しました。

+0

Oh yea?デモをテストしましたか?デモでは、ツリーモードとコードモードの両方で編集できることに気付きましたか?ツリーモードでの編集機能を無効にしたいユースケースは基本的に、ツリーモードではエディタを読み込み専用にし、コードモードではユーザがjsonを変更できるようにします。 –

+0

@PhiL今すぐご確認ください。 –

関連する問題