Angular 的模型不起作用

Angular ng-model don't work

我正在尝试用 ng-models 的输入替换文本中的特定字符串。我使用了以下代码:

inlinetext.replace(buffer[x], '<input ng-model="singleQuestion.inlines[' + x + '].checkAnswer" type="text">');

它按预期在视图中呈现 HTML 输入字段:

<input ng-model="singleQuestion.inlines[0].checkAnswer" type="text">

但是 ng-model 不会更新模型。实际上,我已经尝试在 HTML 视图中对同一段代码进行硬编码,并且效果很好。所以它一定是 angular 渲染视图的方式。

我的目标是显示文本段落,其中特定单词被输入替换(使用 ng-model 属性)。问题是 Angular 不会编译您通过 .replace() 函数查看的任何内容。

有人知道怎么做吗?

我终于想通了。这是用 Angular 编译元素替换字符串的完整代码,以备不时之需。

<script>
  var testApp = angular.module('testApp', []);

  testApp.directive('dynamic', function ($compile) {
    return {
      restrict: 'A',
      replace: true,
      link: function (scope, ele, attrs) {
        scope.$watch(attrs.dynamic, function(html) {
          ele.html(html);
          $compile(ele.contents())(scope);
        });
      }
    };
  });

  testApp.controller('PhoneListCtrl', function ($scope) {

  // Initializace text
  var inlinetext = 'Lorem ipsum dolor form sit amet, consectetur adipiscing elit. Vivamus in form ultricies ipsum. Quisque finibus lacus neque, sed tempor lectus form gravida nec. Nam egestas dui vel elit lacini';

  // Replace string and bind it to directive
  $scope.html = inlinetext.replace('form', '<input type="text" ng-model="demo">');
});
</script>

这是result