AngularJS,需要帮助创建一个简单的功能

时间:2017-12-06 15:36:58

标签: angularjs function

我想了解如何执行以下操作,他们让我尝试在控制器中创建一个函数,而不是在视图中编写代码。

代码是:

 <div class="row">
                <div class="col-xs-12 max300" 
                     uib-dropdown is-open="vm.descriptionDropdownOpen">
                    <textarea name="description" class="form-control" 
                              ng-model="vm.presence.description" 
                              ng-click="vm.toggleDescriptionDropdown()"
                              autofocus>
                    </textarea>
                    <ul id="descriptionDropdown" uib-dropdown-menu>
                        <li ng-repeat="descr in vm.loadedDescriptions" 
                            ng-click="vm.presence.description = descr.text;
                                      vm.descriptionDropdownOpen = false;">
                            {{descr.text}}
                        </li>
                    </ul>
                </div>
            </div>

所以基本上这会创建一个文本框,当你点击它时,会出现一个下拉菜单,如果你单击下拉菜单的一个字符串,该字符串将被放在文本框中。

我需要做的是创建一个将放在控制器中的函数,这样我们就可以在视图中调用该函数并保持代码更好。

这个函数只需要做我上面发布的代码的最后一部分,从下拉菜单中取出我点击的字符串并将其放在文本框中!

这很简单,但是在我学习的时候,我不确定如何写它

setDescription(text: string) {
        // code should go here.
}

对不起这个愚蠢的问题,我想确保正确理解我在做什么!谢谢

2 个答案:

答案 0 :(得分:1)

HTML

 ng-click="vm.submitString(descr.text)"

控制器

vm.submitString = function(text){
    return vm.presence.description = text;
}

答案 1 :(得分:0)

这样解决了:

Commons.1.0.0.nupkg