Javascript AngularJS中的条件视图
我有一个问题涉及AngularJS中的条件偏a型视图。下面的例子不是很理想。它还返回一个错误,该错误属于Javascript AngularJS中的条件视图,javascript,angularjs,Javascript,Angularjs,我有一个问题涉及AngularJS中的条件偏a型视图。下面的例子不是很理想。它还返回一个错误,该错误属于$compile(element.contents())(scope)行,该行表示我不能将scope用作函数,否则它将无法正确呈现所有内容。用例如下所示: 我正在请求通过$http返回一个对象数组的路由 我正在ng repeat返回对象数组 对于每个对象(我们称之为obj),都会给出一个obj.view\u edit值 如果obj.type等于plugin,则插入指令 这看起来像: <
$compile(element.contents())(scope)
行,该行表示我不能将scope
用作函数,否则它将无法正确呈现所有内容。用例如下所示:
$http
返回一个对象数组的路由ng repeat
返回对象数组obj
),都会给出一个obj.view\u edit
值obj.type
等于plugin
,则插入
指令 <plugin view="content.view_edit"></plugin>
您有更好的解决方案吗?在处理更复杂的问题之前,您不需要在链接函数中手动操作DOM来隐藏/显示或
$compile
s。只要使用本机ng if
指令即可
<div ng-repeat="obj in objects">
<div ng-if="isPlugin(obj)">
<plugin view="obj.view_edit"></plugin>
</div>
<div ng-if="!isPlugin(obj)">
This is not a plugin.
</div>
</div>
非常感谢。我使用您的方法解决了这个问题,使用了
ng switch=“content.type”
和ng switch when=“plugin”
,用于每种类型。
<div ng-repeat="obj in objects">
<div ng-if="isPlugin(obj)">
<plugin view="obj.view_edit"></plugin>
</div>
<div ng-if="!isPlugin(obj)">
This is not a plugin.
</div>
</div>
scope.isPlugin = function (obj) {
return obj.type === 'plugin';
}