如何添加按钮的值,然后将其更改回来

How to apend the value of a button then change it back

本文关键字:然后 回来 何添加 添加 按钮      更新时间:2023-09-26

我想添加一个指令到任何按钮,将按钮值替换为单词加载。然后以某种方式有一个函数,将恢复按钮的值,当我调用该函数在我的代码的任何地方(说ajax加载后)。

我想知道如何在AngularJS中做到这一点。

首先,我想我创建了一个指令…

.directive('spinnerButton', function () {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.bind('click', clickedButton);
            function clickedButton() {
               //get button change  add the words loading...
            }
        }
    }
});

在我的按钮作为指令…

  <div ng-click="loadsomething()" spinner-button>All Projects</div>

然后以某种方式回忆驱动器说还原....

.then(function (objects) {
                        //remove loading message
                    },

对于指令和外部作用域共享的loading属性,可以使用双向数据绑定。单击该元素时,将loading设置为true。加载完成后,将外作用域(如loadsomething)的loading设置为false

你可以使用透传来改变按钮显示的内容。

return {
    restrict: "A",
    transclude: true,
    template: "<div ng-transclude ng-hide=loading></div>"
        + "<img ng-show=loading src=throbber.gif>",
    scope: {loading: "=spinnerButton"},
    link: function (scope, elem) {
        elem.bind("click", function () { scope.loading = true; });
    }
};
<div ng-click="loadsomething()" spinner-button=loading>All Projects</div>
http://jsfiddle.net/Loq0sm5w/