Javascript AngularJs ng如果用于在元素上显示或跳过
我正在使用AngularJS。Javascript AngularJs ng如果用于在元素上显示或跳过,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我正在使用AngularJS。 我有以下模板: <div> ... html content .... </div> 如果$scope.url=',那么我想要: <div> <a ng-href="url"> ... html content .... </a> </div> <div> ... html content .... </div>
我有以下模板:
<div>
... html content ....
</div>
如果$scope.url='
,那么我想要:
<div>
<a ng-href="url">
... html content ....
</a>
</div>
<div>
... html content ....
</div>
... html内容。。。。
在AngularJS中有什么方法可以做到这一点吗?试试
ng开关
:
.. 内容。。
最终我用一个指令完成了:
app.directive('skipElement', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var skip = attrs.skipElement ? !scope.$eval(attrs.skipElement) : false;
if (skip) {
var parent = element.parent();
var children = element.children();
children.detach();
parent.append(children);
}
}
};
}]);
你最好的选择是switch语句,因为没有ngElse,除非你想写两个ngif,一个为真,一个为假。我不想重复内容!如果你有很多内容,那么你可以使用一个模板将其抽象出来。如果内容相对较少,那么可以使用{{content}什么是{{content}?它能帮我什么忙?首页的第一个例子解释得很好。我不知道你在说什么。像这样简单的基本功能不需要自定义指令。@olleicua:伙计,你不明白这个问题。如果你能给我举一个例子,说明我在用你的方式寻找什么,我会给你一个V。也许你应该澄清这个问题,因为它并没有说不想复制内容。这是什么内容?内容是html内容。
app.directive('skipElement', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var skip = attrs.skipElement ? !scope.$eval(attrs.skipElement) : false;
if (skip) {
var parent = element.parent();
var children = element.children();
children.detach();
parent.append(children);
}
}
};
}]);