Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:从父组件获得的对象和数据?_Javascript_Html_Angularjs - Fatal编程技术网

Javascript AngularJS:从父组件获得的对象和数据?

Javascript AngularJS:从父组件获得的对象和数据?,javascript,html,angularjs,Javascript,Html,Angularjs,我正在使用AngularJS编写一个大型web应用程序。不幸的是,我只了解版本2中的Angular,所以我有一个关于数据传递的问题。我需要开发一个组件,该组件利用现有组件(其代码非常长且复杂),并基于现有组件动态显示结果。因此,我有一个组件模板,如下所示(my component.html): 我在其中使用组件的模板将如下所示: <my-component> <component-made-by-other-developers dat

我正在使用AngularJS编写一个大型web应用程序。不幸的是,我只了解版本2中的Angular,所以我有一个关于数据传递的问题。我需要开发一个组件,该组件利用现有组件(其代码非常长且复杂),并基于现有组件动态显示结果。因此,我有一个组件模板,如下所示(
my component.html
):


我在其中使用组件的模板将如下所示:

<my-component>
    <component-made-by-other-developers 
              data1="$ctrl.CertainTypeOfObject"
              data2="anotherTypeOfObject"
     ></component-made-by-other-developers>
</my-component>
<div ng-include="otherDeveloperComponent.html" onload="passedData=$ctrl.CertainTypeOfObject; source='myComponent'" ng-if="true">


问题是:如何在我的组件(即
MY component.js
MY component.html
文件)中使用其他开发人员开发的组件的数据(在示例
data1
data2
中)?我的问题是,
ng transclude
指令似乎不允许访问其他组件(传入输入)的数据,如果我想在自己的组件中使用它们。问题是:如何在我的组件(模板和控制器)中使用这些数据?

尝试在组件中使用
ng include
,并使用
onload传递数据

您的代码应该如下所示:

<my-component>
    <component-made-by-other-developers 
              data1="$ctrl.CertainTypeOfObject"
              data2="anotherTypeOfObject"
     ></component-made-by-other-developers>
</my-component>
<div ng-include="otherDeveloperComponent.html" onload="passedData=$ctrl.CertainTypeOfObject; source='myComponent'" ng-if="true">