【问题标题】:Changing option in ui-codemirror更改 ui-codemirror 中的选项
【发布时间】:2018-01-17 16:40:06
【问题描述】:

我正在尝试使用ui-codemirror,并具有以下代码:JSBin

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="https://codemirror.net/lib/codemirror.css">
  <script src="https://code.jquery.com/jquery.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
  <script src="https://codemirror.net/lib/codemirror.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-codemirror/0.3.0/ui-codemirror.js"></script>
</head>
<body ng-app="YourApp"> 
  <div ng-controller="YourController">
    <div ng-model='testCM3' ui-codemirror='{{option}}'></div>
    {{option}}<br/>
    <a href="#" ng-click="changeOption()">changeOption</a>
  </div>
  <script type="text/javascript">     
    angular.module('YourApp', ['ui.codemirror'])
    .controller('YourController', ['$scope', function ($scope) {
      $scope.option = "{ lineNumbers: true }"
      $scope.testCM3 = "testCM3";
      $scope.changeOption = function () {
        if ($scope.option === "{ lineNumbers: true }") $scope.option = "{ lineNumbers: false }"
        else $scope.option = "{ lineNumbers: true }"
      }
    }])
  </script> 
</body>
</html>

点击changeOption 我希望lineNumbers 被隐藏/显示。我们可以看到option 的值发生了变化,但是代码镜像没有变化。有人知道我的代码有什么问题吗?

【问题讨论】:

    标签: javascript angularjs ui-codemirror


    【解决方案1】:

    我找到了:

    1. ui-codemirror='{{option}}' 应该写成ui-codemirror='option'
    2. option 应该被定义为一个对象而不是一个字符串

    JSBin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多