当前位置: 首页 > 面试题库 >

将参数传递给Angular ng-include

芮宇航
2023-03-14
问题内容

我正在尝试显示元素的二叉树,我使用ng-include递归地进行了遍历。

ng-init="item = item.left"和之间有什么区别ng-repeat="item in item.left"?在此示例中,它的行为完全相同,但是我在项目中使用了类似的代码,因此它的行为有所不同。我想是因为角度范围。也许我不应该使用ng-
if,请向我解释如何做得更好。

pane.html是:

<div ng-if="!isArray(item.left)">
    <div ng-repeat="item in [item.left]" ng-include="'Views/pane.html'">
    </div>
</div>
<div ng-if="isArray(item.left)">
    {{item.left[0]}}
</div>
<div ng-if="!isArray(item.right)">
    <div ng-repeat="item in [item.right]" ng-include="'Views/pane.html'">
    </div>
</div>
<div ng-if="isArray(item.right)">
    {{item.right[0]}}
</div>

<div ng-if="!isArray(item.left)">
    <div ng-init = "item = item.left" ng-include="'Views/pane.html'">
    </div>
</div>
<div ng-if="isArray(item.left)">
    {{item.left[0]}}
</div>
<div ng-if="!isArray(item.right)">
    <div ng-init="item = item.right" ng-include="'Views/pane.html'">
    </div>
</div>
<div ng-if="isArray(item.right)">
    {{item.right[0]}}
</div>

控制器是:

var app = angular.module('mycontrollers', []);

app.controller('MainCtrl', function ($scope) {

    $scope.tree = {
        left: {
            left: ["leftleft"],
            right: {
                left: ["leftrightleft"],
                right: ["leftrightright"]
            }
        },
        right: {
            left: ["rightleft"],
            right: ["rightright"]
        }
    };

    $scope.isArray = function (item) {
        return Array.isArray(item);
    }
});

编辑:首先,我遇到指令ng-repeat比ng-if具有更高优先级的问题。我试图将它们合并,但失败了。海事组织(IMO)奇怪的是ng-repeat主导ng-
if。


问题答案:

将参数传递给Angular ng-include

不用了 所有ng-include的来源都具有相同的控制器。因此,每个视图看到的都是相同的数据。

ng-init =“ item = item.left”和ng-repeat =“ item.left”中有什么区别

[ 1]

ng-init="item = item.left"表示创建一个名为item的新实例,该实例等于item.left。换句话说,您可以通过编写控制器来实现相同目的:

$scope.item = $scope.item.left

[2]

ng-repeat="item in item.left"表示根据item.left数组创建作用域列表。您应该知道其中的每个项目ng-repeat都有其专用范围

我正在尝试显示元素的二叉树,我使用ng-include递归地进行了遍历。

我在过去的答案中发布了如何使用来显示树ng-include

主要部分在这里,你创建 的节点id被包装<scipt>标签及使用ng-repeat

  <script type="text/ng-template"  id="tree_item_renderer">
        <ul class="some" ng-show="data.show"> 
          <li ng-repeat="data in data.nodes" class="parent_li"  ng-include="'tree_item_renderer'" tree-node></li>
        </ul>
  </script>


<ul>
  <li ng-repeat="data in displayTree"  ng-include="'tree_item_renderer'"></li>


 类似资料:
  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对

  • 我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?

  • 问题内容: 在我的RCP应用程序中,左侧有一个用于导航的视图,右侧有一个用于视图的文件夹。透视图看起来像这样: 我想根据用户在导航树中选择的内容打开不同的视图。认为这并不难。我的导航树视图: 这似乎很好。仅有一个小问题:我需要以某种方式将对象(例如,selectedItem)传递给我的视图,以使用户与其内容进行交互。我怎么做? 我看到了一些示例,其中一些同事编写了自己的视图,并将其放置在右侧。然后

  • 问题内容: 我正在尝试为我的程序制作验证类。我已经建立了与MySQL数据库的连接,并且已经在表中插入了行。该表由,和领域。现在,我想通过构造函数的参数在数据库中选择特定的行。 但这似乎没有用。 问题答案: 您应该使用方法设置。这既可以确保语句的格式正确,又可以防止: Java教程中有一个很好的教程,说明如何正确使用。

  • 问题内容: 我正在寻找一种将变量或字符串或任何东西传递给JButton的匿名actionlistener(或显式actionlistener)的方法。这是我所拥有的: 现在,我只是声明是一个全局变量,但是我讨厌这种工作方式。有更好的选择吗? 问题答案: 创建一个实现该接口的类。 提供具有参数的构造函数。 问题?

  • 我有一些JMH基准测试,我正在尝试分析。我想启用 GC 日志记录以查看生成了多少垃圾,但我不知道如何传递 JVM 参数。我知道JMH在分叉的JVM中运行基准测试,所以对我来说如何做到这一点并不是很明显。我正在使用断续器。