Javascript 为什么AngularJS ng bind不更新推送数组
我试图将字符串推入数组并在视图中进行实时更新。它在表达式中起作用,但在ng bind中不起作用。请帮我找出原因 HTML: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 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);
};
}]);