javascript - Angular 指令 - 模板和 com 更改

标签 javascript html angularjs

我有一个 Angular Directive(指令):

var myApp = angular.module('myApp',[]);

var HelloDirective = function() {
    return {
        scope : {
            t : "=",
      list: "="
        }, // use a new isolated scope
        restrict : 'AE',
        replace : false,
        template : '<h3>{{list}}</h3>',
        link : function(scope, elem, attrs) {
            var p = document.createElement("p");
            p.innerHTML = "asdddf";
      var ul = document.createElement("ul");
            var li = document.createElement("li")
      li.innerHTML = "List Item";
      ul.appendChild(li);
            elem.append(p);
      elem.append(ul);
            scope.list = "HI";
        }

    };
}

myApp.directive("hello", HelloDirective);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});

function MyCtrl($scope) {
    $scope.name = 'Superhero';
}

如何让scope.list正确显示?

此外,使 ul 显示为列表的最佳方法是什么?我应该使用 elem.append(ul); 还是可以说 scope.list = ul 让它显示出来?

没听懂……

这是 fiddle : http://jsfiddle.net/mbaranski/znhnseep/

最佳答案

试试这个

app.directive('hello', ['$sce', function ($sce) {
    return {
        scope: {
            t: "=?",
            list: "=?"
        },
        restrict: 'AE',
        replace: false,
        template: "<h3 ng-bind-html='list'></h3>",
        link: function (scope, elem, attrs) {

            var p = document.createElement("p");
            p.innerHTML = "asdddf";
            var ul = document.createElement("ul");
            var li = document.createElement("li");
            li.innerHTML = "List Item";
            ul.appendChild(li);

            //elem.append(p);
            //elem.append(ul);

            scope.list = $sce.trustAsHtml(ul.outerHTML);
        }
    };
}]);

关于javascript - Angular 指令 - 模板和 com 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35249116/

相关文章:

javascript - 将 javascript get 与 css div 合并

html - 替换网站移动版本中的图标

html - 为什么我不能从顶部删除边距/填充

javascript - AngularJS 1事件-回调方法中的 "this"变量是窗口

html - 如何使 div 的高度动态适应包含它的 div 的大小?

javascript - 在 JavaScript/jQuery 中将元素包裹在两个元素之间?

javascript - 如何从 Angular 自定义指令访问 HTML 视频功能?

jquery - 如何在 asp.net 转发器中选择一个 div

javascript - 使用项目的属性绑定(bind) Angularjs 选择项目进行建模

javascript - 切换滑出菜单