2017-10-06 188 views
1

当前,我正在使用ng-jsoneditorAngularJS JSON编辑器切换可编辑

我试图将状态从可编辑切换到只读状态。

要设置只读属性,我必须指定options属性的onEditable属性。例如:

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

我能够得到changeOptions属性切换mode财产,但我不能得到onEditable属性切换。我希望用户能够在'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

哦,是吗?你测试了演示吗?你有没有注意到这个演示允许你在树模式和代码模式下编辑?我想在树形模式下禁用编辑功能。用例基本上是,而在树状模式下,编辑器只能读取,而在代码模式下允许用户修改json。 –

+0

@PhiL请立即检查。 –