javascript - AngularJS 在指令中追加并编译

标签 javascript angularjs

我有一个问题,我希望在 AngularJS 的指令中附加 html 元素,并且我希望编译它们,例如我希望附加一个 {{ text }} 并且我希望用 ~~~ $scope 编译它.text = "示例...";

我该怎么做? 这可能吗?怎么办?

(function() {
'use strict';

var matrixelement = document.getElementById("matrixcontent");

var app = angular.module('testviewer', ['ngMaterial', 'ngSanitize']).controller('matrixviewCtrl', matrixviewCtrl);


app.directive("matrixview",function($compile){
    return {
            link: function (scope, iElement, iAttrs) {
            var svg = angular.element("<p>{{ text }}</p>");
            iElement.append($compile(svg)($scope));
        }            
    }
});



function matrixviewCtrl($scope, $compile) {


}
})();

最佳答案

更改此行:

iElement.append($compile(svg)($scope));

对此:

iElement.append($compile(svg)(scope));

实际上,您只需从作用域中删除 $ 符号,因为在链接函数中它被称为 scope

关于javascript - AngularJS 在指令中追加并编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40361461/

相关文章:

javascript - 无法从main调用类函数, "is not a function"错误

javascript - couchdb 减少非键值

javascript - 通过检查模型中的 bool 值来显示元素

javascript - 将图层添加到另一个图层

javascript - 在 Angular 中要求/浏览连帽衫

javascript - 在不删除 Angularjs 中的历史记录的情况下更改 URL

angularjs - AngularJS 和 PHP 的服务器不同?

angularjs - 如何在 Angular 中正确模拟和测试 $window.variable?

javascript - 迭代具有动态类名的元素时,JQuery .each 循环不起作用

node.js - 来自 post 请求的负载在 node.js 函数中不可用