Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Angularjs ng重复不';当从组件指令添加项时不更新_Angularjs_Arrays_Angularjs Ng Repeat - Fatal编程技术网

Angularjs ng重复不';当从组件指令添加项时不更新

Angularjs ng重复不';当从组件指令添加项时不更新,angularjs,arrays,angularjs-ng-repeat,Angularjs,Arrays,Angularjs Ng Repeat,我的代码有问题,但找不到,我更新了一个数组,但它没有在我的主视图中更新 这是我的密码 app.controller("MainCtrl", function ($scope, $http) { $scope.user = []; $scope.adduser = function (fuser, luser) { var name = { fname: fuser, lname: luser } // debugger; $scop

我的代码有问题,但找不到,我更新了一个数组,但它没有在我的主视图中更新

这是我的密码

app.controller("MainCtrl", function ($scope, $http) {
    $scope.user = [];

    $scope.adduser = function (fuser, luser) {
        var name = { fname: fuser, lname: luser }
       // debugger;
        $scope.user.push(name);

    };

用户信息
{{name.fname}

名字:

姓氏: 添加
controllerAs
语法使控制器功能可用
(上下文)可通过其别名访问,此处为
c
。使用
controllerAs
语法时,绑定值应绑定到控制器函数上下文(
this
)。在
controllerAs
方法中,应避免在控制器中使用
$scope
。即使在调用
adduser
方法时,也可以通过控制器别名调用它
c.adduser

代码

app.controller("MainCtrl", function ($http) {
    var c= this;
    c.user = [];
    c.adduser = adduser;

    function adduser(fuser, luser) {
        var name = { fname: fuser, lname: luser }
       // debugger;
        c.user.push(name)
    };
})

您需要在指令中传递变量

<userinfo user='user'></userinfo>

早些时候,我没有使用“controllerAs”语法进行编码,我怎么能在没有“controllerAs”语法的情况下进行编码呢that@Lakmi你这是什么意思。。我再也不想回到控制器中使用
$scope
。使用
controllerAs
语法使您离角度偏移又近了一小步..我使用了您的代码,但它对我不起作用。我更新了我的代码这是我以前编码的方式。那一种也不是working@Lakmi你说没用是什么意思?您是否错过了将
adduser
的用法更改为
c.adduser()
控制台中是否有错误?否,在您的示例中没有错误您不调用函数
$scope.adduser
-您确定
$scope.user
数组中有
用户吗?我直接调用该方法我认为这就是原因-您的视图不知道新数据,因为您从另一个范围触发它们。您是否尝试在
$scope.user.push(名称)下添加
$scope.$apply()
?在这里,您可以找到这样一个例子,我们是否应该寻找另一个解决方案,因为您不应该在正常的angularJS流中使用$apply。
app.controller("MainCtrl", function ($http) {
    var c= this;
    c.user = [];
    c.adduser = adduser;

    function adduser(fuser, luser) {
        var name = { fname: fuser, lname: luser }
       // debugger;
        c.user.push(name)
    };
})
<userinfo user='user'></userinfo>
scope: {
   user: '='
}