动态添加MaterialJS按钮

时间:2017-05-26 20:29:56

标签: angularjs material-design

我正在尝试动态地将AngularJS Material按钮“md-button”添加到页面上的某些元素。我尝试过使用jQuery.append选项但是按钮从不渲染,但文本出现了。

    $scope.toggleChecked = function (item) {
        $("#checkedItems").append('<md-button class="md-raised md-primary">'+item+'</md-button>');
        var index = $scope.checked.indexOf(item);
        if (index == -1) {
            $scope.checked.push(item);
        } else {
            $scope.checked.splice(index, 1);
        }
    };

处理向DIV或SPAN添加新按钮的最佳方法是什么?

Plunker:http://jsfiddle.net/odgma1w6/

https://material.angularjs.org/

1 个答案:

答案 0 :(得分:0)

在Angularjs中操作DOM的最佳方法是使用指令

首先,您需要创建指令:

    .data
    .text
    .globl change_table
    addi $t2, $0, 0

    change_table:
        beq $t2, $a1, exit
        lbu $t0, 0($a0)
        slt $t1, $t0, $a2
        beq $t1, 1, change
        return:
        sb $a0, 0($t0)
        addi $a0, $a0, 1
        addi $t2, $t2, 1
        j main

    change:
        ori $t0, $t0, 0xf
        j return

    exit:
        li $v0, 10
        syscall

并将其添加到您的HTML中:

angular.module('home').directive('addButtonDirective', ['$log', addButtonDirective]);

function addButtonDirective($log) {
    return {
            restrict: 'A',
            link: function ($scope, element, attributes) {
                var el = $(element);

                el.append('<md-button class="md-raised md-primary md-button md-default-theme">test</md-button>');
            }
        }
};

我已经更新了你的jsfiddle,请查看:AllocateHWnd()