繁体   English   中英

更改功能中的ng-repeat范围不会更新范围

[英]Changing ng-repeat scope in function doesn't update scope

我在我的应用程序中使用Angular Material。 在ng-repeat列表里面我有字段。 但是,我希望用户能够将常用的前缀添加到文本中。 例如,如果他想输入“hours:5”,他可以点击一个按钮,将“hours:”添加到输入字段,这样他只需键入5即可。

这就是我现在所拥有的:HTML:

<md-menu>
                              <md-button ng-click="$mdOpenMenu($event)" class="ps-button" aria-label="Open sample menu">
                                +
                              </md-button>
                              <md-menu-content class="ps-selectcontainer">
                                <md-menu-item ng-repeat="remark in remarks"><md-button class="ps-button" ng-click="addRemark(remark, this)">{{remark}}</md-button></md-menu-item>
                              </md-menu-content>
                            </md-menu>
                          </md-input-container> 

输入容器:

<md-input-container md-no-float class="md-block" >
                            <input ng-model='form_noteName' type="text" placeholder="Note" maxlength="255" required>
                          </md-input-container>

并在Javascript中:

$scope.addRemark = function (remark, repeatScope){

        if(repeatScope.form_noteName){
            repeatScope.form_noteName = remark + repeatScope.form_noteName;
             $scope.stupidvariable = repeatScope.form_noteName;
            return;
        }
        repeatScope.form_noteName = remark;
        return;
    };

我的想法是,当我点击md菜单中的某个项目时,它会打开addRemark函数传递范围,在addRemark中它会修改范围并且输入字段已更改。
但变量form_noteName不会改变,我不知道我做错了什么。 我在这做错了什么?

编辑:这是一个采用类似方法的Plunker: http ://plnkr.co/edit/1j3F64YyJPftxLf8QaZD?p = preview

谢谢 :)

您不能有两次ng-clicks。 您需要将两个语句放在一起用分号分隔,如下所示:

ng-click="addRemark(remark, this); testvariable='remark'"

你也可能不需要“this”,因为“remark”会给出特定的元素。 但是,我没有足够的代码来确定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM