我正在学习Angularjs.我被困在了tranclusion属性中,因为它混淆了me.How ng-transclude的工作?它会将dom中标记为ng-transclude的内容替换为transcluded元素(要转换的元素),还是简单地将transcluded元素附加到标记为ng-transclude的dom中?
我参考了egghead angularjs视频教程中的转换性属性https://egghead.io/lessons/angularjs-transclusion-basics。
这里提到ng-transclude只是将transcluded元素附加到标记为ng-transclude的dom中,但当我尝试使用它时,它并非如此
这是我的html文件
learning.hmtl
<html ng-app="learnangular">
<head>
<title></title>
<script type="text/javascript" src="angular.js"></script>
<script type="text/javascript" src="learnscript.js"></script>
</head>
<body>
<div ng-controller="firstcontroller">
<custom-directive><div>This is transcluded part</div></custom-directive>
</div>
</body>
</html>下面是我的脚本文件learnscript.js
var app=angular.module("learnangular",[]);
app.controller("firstcontroller",function($scope){
$scope.dirobject="directive object";
});
app.directive("customDirective",function(){
return {
restrict:"E",
transclude:true,
replace:false,
template:"<input type='text' ng-model='dirobject'></input>"+
"<div ng-transclude>{{dirobject}}</div>",
link:function(scope,element,attr){
}
};
});ng-transclude替换了dom中标记为ng-transclude的内容,为什么会这样?
发布于 2014-06-07 23:15:28
据我所知,now.The视频是用angular js版本1.0.x录制的,我使用的是最新版本。实际上,在最新版本中,转换后的标记完全用ng-transclude属性替换了元素的内容。在以前的版本中,转换后的标记将是appended.Thanks everyone
https://stackoverflow.com/questions/24098488
复制相似问题