具有不同控件的多个 ngIncludes 可见

Multiple ngIncludes with Different controls visible

我有一段 HTML 有自己的控制器。我想将该代码段包含在两个不同的位置。

如果显示为#parent1 的子项,我想隐藏一些字段。如果显示为 #parent2 的一部分,我希望隐藏其他字段。

我以前做过,但当#parent1 和#parent2 可以同时可见时就没做过。

想法?

您现在可能应该停止使用 ng-include 并改为编写一个非常简单的指令。这是具有隔离范围的 angular 指令的典型用例,只需传入 scope-variable 并在模板中使用 ngShow ngHide 或 ngIf:

 .directive('snippy', ['$rootScope',
        function ($rootScope) {
            return {
                restrict: 'E',
                scope: {
                    showit: '='
                },
                templateUrl: 'yoursnippet.html',
                link: function(scope, elem, attrs) {
                   // here goes your controller code
                }
         }

然后在 yoursnippet.html:

<div>
   <div ng-show="showit">this is shown/hidden</div>
</div>

然后在你的 parent:

<div>
    <snippy showit="anyangularexpression">
    <snippy showit="anyangularexpression2">
</div>