改变函数中的ng-repeat作用域不会更新作用域

Changing ng-repeat scope in function doesn't update scope

本文关键字:作用域 更新 ng-repeat 函数 改变      更新时间:2023-09-26

我在我的应用程序中使用Angular材料。在一个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不改变,我不知道我做错了什么。我哪里做错了?

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

谢谢:)

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

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

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