首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态修改文本字段。Angular.js

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

Stack Overflow用户
提问于 2017-05-30 14:41:47
回答 2查看 119关注 0票数 0

我有一个指令,在其中我点击一个字段,然后我可以编辑它。在这个指令中,我可以添加一个名为"typeinput“的属性。如果the = " textarea“,那么我希望动态字段是文本区域,而不是输入文本。我正在用ng-if做这个验证。

但是,如果我这样做,这将停止工作,并没有保存新的动态字段值。我怎么才能修好它?

代码语言:javascript
复制
<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/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 15:10:59

这里的问题是,与其他指令一样,ng-if指令创建了一个子范围。

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

工作小提琴

票数 2
EN

Stack Overflow用户

发布于 2017-05-30 15:12:32

使用ngIf时,它会创建子作用域,因此在文本区域的ngModel和输入中,需要引用父作用域,如下所示:

代码语言:javascript
复制
ng-model="$parent.localModel"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44265336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档