javascript - 动态修改文本字段。 Angular.js

标签 javascript angularjs

我有一个指令,在其中单击一个字段,然后我可以对其进行编辑。对于这个指令,我可以添加一个名为“typeinput”的属性。如果 typeinput = "textarea"那么我希望动态字段是 textarea 而不是输入文本。我正在 ng-if 的帮助下进行此验证。

enter image description here

但是,如果我这样做,它将停止工作,并且不会保存新的动态字段值。我该如何修复它?

<div ng-repeat="faq in faqs">
      <a  href='' click-to-edit  ng-model='faq.pregunta'   typeinput='textarea' >{{faq.pregunta}}</a>
</div>

    .directive('clickToEdit', function($timeout,$compile) {

      return {
          require: 'ngModel',
          scope: {
              model: '=ngModel'
          },
          replace: true,
          transclude: false,
          // includes our template
          template:
              '<div class="templateRoot">'+
                  '<div class="hover-edit-trigger" title="click to edit">'+
                      '<div class="hover-text-field" ng-show="!editState" ng-click="toggle()">{{model}}</div>'+
                      //'<span ng-if="type==true">'+
                      '<input class="inputText" type="text" ng-model="localModel" ng-enter="save()" ng-show="editState" />' +
                      //'</span>'+
                      //'<span ng-if="type==false">'+
                      //'<textarea class="inputText"  ng-model="localModel" ng-enter="save()" ng-show="editState" />' +
                      //'</span>'+
                      '<div class="edit-button-group pull-right" ng-show="editState">'+
                          '<div class="glyphicon glyphicon-ok"  ng-click="save()"></div>'+
                          '<div class="glyphicon glyphicon-remove" ng-click="cancel()"></div>'+
                      '</div>'+
                  '</div>'+
              '</div>',

https://jsfiddle.net/ybmrzo5w/

最佳答案

这里的问题是 ng-if 指令与其他指令一样创建子作用域。

您可以在 ng-model 中使用对象属性 - 那么,即使 ng-if 创建新的子作用域,父作用域也会发生更改: localModel.value 应该适用于您的情况。

请参阅working jsfiddle .

关于javascript - 动态修改文本字段。 Angular.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44265336/

相关文章:

angularjs - 使用 Gulp 运行 karma 测试时出现 "module not defined"错误

javascript - 如何编写包含内容但没有图片的幻灯片?

javascript - setState() 不改变值

javascript - 来自服务的 $emit 或 $broadcast 事件并在一个(或多个) Controller 中监听它们

mysql - PHP MySQL 数据到 AngularJS

angularjs - ng-repeat 的简单单向绑定(bind)?

android - 如何在 ionic 中打开键盘时以编程方式使屏幕滚动到顶部

javascript - 使用密码加密消息时,crypto-js 使用的 AES 参数和内部执行的步骤是什么?

javascript - Ember 组件的基础测试

javascript - Youtube API - 将视频淡入到 div - 在 Opera 10 中不起作用