AngularJS指令ng如果在头部和身体元素处
AngularJS directive ng-if at head and body elements
在html头部和主体元素处设置AngularJS ng-if
指令是否有效?
<!DOCTYPE html>
<html ng-app="myApp">
<head ng-if="condition">
<!-- if conditon is true -->
</head>
<head ng-if="condition">
<!-- if condition is false -->
</head>
<body ng-controller="MyCtrl" ng-if="condition">
<!-- if conditon is true -->
</body>
<body ng-controller="MyCtrl" ng-if="condition">
<!-- if conditon is false-->
</body>
</html>
它行得通吗?
这里有一个动态加载CSS文件的示例指令,尽管卸载CSS文件是另一个问题,因为你需要跟踪添加了哪个脚本/样式标签,并删除相应的标签:
http://plnkr.co/edit/5fCUV6WDxoLZ8kk9NSxb?p=preview
// Code goes here
angular.module("myApp", []).directive("styleSheetLoader", function(){
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
return {
restrict:"E",
scope: {condition:"@", cssFile:"@"},
link: function(scope, iElem, iAttrs) {
console.log(iAttrs.condition);
if(iAttrs.condition)
{
console.log("here", iAttrs.cssFile)
loadjscssfile(iAttrs.cssFile, "css");
}
iAttrs.$observe("condition", function(){
if(iAttrs.condition)
{
console.log("here", iAttrs.cssFile)
loadjscssfile(iAttrs.cssFile, "css");
}
})
}
}
})
使用了此处引用的函数:http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
Edit在plunkr中添加了一些零件,以删除我在添加新零件之前创建的工厂添加的其他样式表,这并不完美,但它可以工作。
相关文章:
- 遍历类元素数组,并在jquery中选择同级元素
- 如何将元素从iframe附加到父体
- 在元素数组上循环只会影响最后一个元素
- 如何创建具有单个元素或元素数组的数组
- JavaScript (w/jQuery) - 当被其他元素包围时,在悬停时增长一个元素以填充容器
- 如何使用JQuery在HTML元素数组中获取HTML元素
- Javascript-通过按下另一个元素来移动元素
- 如何使用CSS3/JavaScript缩放DIV元素及其子元素以适应父元素
- CSS: jQuery:将右边距应用于 li 元素,除了每个第 4 个子元素(仅适用于 display:block 的元
- 元素使用引导和砌体在页面上移动
- 角度砌体指令隐藏内部元素,错误:引用错误:未定义砌体
- 更改元素以收回 JavaScript 中已删除的 DOM 元素
- 按元素的 ID 对元素数组进行排序
- 相关产品按变体使用元字段为 Shopify 液体
- 选择 JSON 对象数据表元素以列出其所有元素
- 使用 CSS 转换或 javascript 来缩放元素以动态适应其父元素
- 取消隐藏 css 元素以选择元素值太慢
- 砌体 JS - 如何在第二行中居中网格元素
- 将子元素淡入父元素之后
- 使用Javascript Regex获取元元素属性