AngularJS JSON编辑器切换可编辑

时间:2017-10-06 18:58:18

标签: javascript angularjs

目前,我正在使用ng-jsoneditor

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

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

 $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 个答案:

答案 0 :(得分:1)

修改

一开始没有得到你的问题,我的不好。

在你的例子中,你所做错的是检查变量的函数定义是onEditable(),这完全不起作用。

所以我做的是检查模式是tree还是code,然后将函数分配给onEditable的{​​{1}}选项。

以下是更新后的fiddle

PS:我也清理了一些代码。