目前,我正在使用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;};
};
答案 0 :(得分:1)
修改强>
一开始没有得到你的问题,我的不好。
在你的例子中,你所做错的是检查变量的函数定义是onEditable()
,这完全不起作用。
所以我做的是检查模式是tree
还是code
,然后将函数分配给onEditable
的{{1}}选项。
以下是更新后的fiddle。
PS:我也清理了一些代码。