Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 在无控制器的情况下,将数组以角度传递给组件_Javascript_Angularjs - Fatal编程技术网

Javascript 在无控制器的情况下,将数组以角度传递给组件

Javascript 在无控制器的情况下,将数组以角度传递给组件,javascript,angularjs,Javascript,Angularjs,我希望将数组传递给Angular 1中的组件,但我不在控制器中(也不希望创建仅一个组件的方法)。我从以下几点开始: <user-list users="users"></user-list> 其中用户是一个JS数组。当然,它不起作用,但如何实现它?这可以通过使用angularjs中的指令轻松实现 agular.module('app').directive('usersList', function() { return { restri

我希望将数组传递给Angular 1中的组件,但我不在控制器中(也不希望创建仅一个组件的方法)。我从以下几点开始:

<user-list users="users"></user-list>


其中用户是一个JS数组。当然,它不起作用,但如何实现它?

这可以通过使用angularjs中的指令轻松实现

agular.module('app').directive('usersList', function() {
     return {
         restrict : 'E',
         transclude : false,
         scope : {
             users : '@'
         },
     }
};
template.html

<div ng-repeat="user in users>
      {{ user.firstName }} {{user.lastName }}
</div>

这可以通过使用angularjs中的指令轻松实现

agular.module('app').directive('usersList', function() {
     return {
         restrict : 'E',
         transclude : false,
         scope : {
             users : '@'
         },
     }
};
template.html

<div ng-repeat="user in users>
      {{ user.firstName }} {{user.lastName }}
</div>

好的,我决定创建一个特殊的“代理组件”,以便能够传递范围变量。

好的,我决定创建一个特殊的“代理组件”,以便能够传递范围变量。

这是一个指令。您应该这样看:如果您不想直接使用控制器指令,您可以将您的组件包装到另一个组件中。这可以是指令或组件。如果它是一个指令,您可以将
用户
添加到该指令的
范围
定义中,并在
$scope.yourkey
中可用。如果它是一个组件,则将其添加到
绑定
,并且(默认情况下)在
$ctrl.yourkey
处可用。从组件内部读取变量没有问题-绑定已设置。问题是在内部传递数组本身。这是一个指令。您应该这样看:如果您不想直接使用控制器指令,您可以将您的组件包装到另一个组件中。这可以是指令或组件。如果它是一个指令,您可以将
用户
添加到该指令的
范围
定义中,并在
$scope.yourkey
中可用。如果它是一个组件,则将其添加到
绑定
,并且(默认情况下)在
$ctrl.yourkey
处可用。从组件内部读取变量没有问题-绑定已设置。问题是在内部传递数组本身。很遗憾,指令中未定义“users”。将“@”更改为“=”,这将导致它绑定到变量。很遗憾,指令中未定义“users”。将“@”更改为“=”,这将导致它绑定到变量。