我使用ui-ace指令在角度应用程序中实现ace编辑器。 我有一个按钮,用于动态添加数据到ace编辑器。 现在当用户点击按钮时,我使用setValue方法更新ace编辑器的值,但该值并未反映在ngModel中。这样做的最佳方式是什么?
这是我如何设置值...
$scope.addUserInput = function (input) {
var currentValue = $scope.aceEditor.getValue();
if(SqlTokenizer.isIdentifier(input.name)){
$scope.aceEditor.setValue(currentValue + ":" + input.name, false);
} else{
$scope.aceEditor.setValue(currentValue + ':"'+ input.name +'"', false);
}
};
我在这里创建了同样的plunkr http://plnkr.co/edit/ez0cwr6PWhALpqu3wjZT?p=preview
答案 0 :(得分:1)
更新了plnkr:http://plnkr.co/edit/GCnDPQnC7xoC6xqdOeqd
问题是你在编辑器中添加/更新文本不需要这样做。
只需更新范围变量,它将反映在所有绑定位置。
而不是
//$scope.editor.setValue($scope.editor.getValue() + new Date().getTime());
这样做
$scope.text = $scope.text + new Date().getTime();