Javascript 为什么AngularJS ng bind不更新推送数组

Javascript 为什么AngularJS ng bind不更新推送数组,javascript,angularjs,Javascript,Angularjs,我试图将字符串推入数组并在视图中进行实时更新。它在表达式中起作用,但在ng bind中不起作用。请帮我找出原因 HTML: 使用ng repeat打印数组中的所有值 var-app=angular.module('app',[]); app.controller('testController',['$scope',函数($scope){ $scope.fruit=['apple']; $scope.add=函数(){ 变量a=‘香蕉’; $scope.fruit.push(a); }; }]

我试图将字符串推入数组并在视图中进行实时更新。它在表达式中起作用,但在ng bind中不起作用。请帮我找出原因

HTML:


使用ng repeat打印数组中的所有值

var-app=angular.module('app',[]);
app.controller('testController',['$scope',函数($scope){
$scope.fruit=['apple'];
$scope.add=函数(){
变量a=‘香蕉’;
$scope.fruit.push(a);
};
}]);

{{item}}
添加

ng bind
不起作用,因为您在angular应用程序的
摘要
周期之外更改了
水果
的值

要更新
ng bind
中的变量,请使用
$scope.apply()

您也可以按照建议使用
ng repeat

演示

var myApp=angular.module('myApp',[]);
控制器('MyCtrl',函数($scope,$interval){
$scope.fruit=['apple'];
$scope.add=函数(){
变量a=‘香蕉’;
$scope.fruit.push(a);
};
});

添加
{{item}}

谢谢您的回答。但是如何使用apply来更新ng bind中的变量呢?我不想使用表达式输出水果,以避免页面刷新为空{{}。
<div ng-app=“app”>
        <div ng-controller="testController">
           <div ng-bind="fruit"></div>
           <div>{{fruit}}</div>
           <button ng-click="add()">add</button>
       </div>
   </div>
var app = angular.module('app', []);

app.controller('testController', ['$scope', function($scope){
    $scope.fruit = ['apple'];

    $scope.add = function() {
        var a = 'banana';
        $scope.fruit.push(a);
    };
}]);