javascript - 如何避免渲染指令元素

标签 javascript angularjs

是否可以隐藏我的指令 html 元素? 我的意思是如果我有这个指令:

app.js

angular.module("myApp", [])
    .directive("myDirective", function() {
        return {
            restrict: "E",
            template: "<div><p>Some text...</p></div>"
    }
);

仅渲染模板的内容。

<div>
    <p>Some text...</p>
</div>

不是指令元素:

<my-directive>
    <div>
        <p>Some text...</p>
    </div>
</my-directive>

最佳答案

是的,只需将 replace: true 放入指令中即可。它将删除该元素

angular.module("myApp", [])
    .directive("myDirective", function() {
        return {
            restrict: "E",
            template: "<div><p>Some text...</p></div>",
            replace: true
    }
);

演示

angular.module("app",[])
.controller("ctrl",function($scope){


}).directive("myDirective", function() {
        return {
            restrict: "E",
            template: "<div><p>Some text...</p></div>",
            replace : true
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
 <my-directive> 
</my-directive>
</div>

关于javascript - 如何避免渲染指令元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44417354/

相关文章:

javascript - 在列表中显示按钮 - AngularJS

javascript - 悬停可拖动的 div 时更改背景

javascript - 如何生成两个值之间的随机数?

javascript - Protractor - 获取元素的子元素?

javascript - 在 angularjs 工厂中使用 setInterval

javascript - AngularJS 将 Ajax 请求 POST 到 Symfony Controller

javascript - Mysql AES_ENCRYPT => 客户端 JavaScript Aes.Ctr.decrypt 问题

javascript - new 关键字如何强制 this 关键字指向 JavaScript 中新创建的对象?

javascript - JQuery 中未定义的返回值

angularjs - Angular Material 中的按钮组