我有一个带有“刷新”链接的AngularJS测试页面,该链接调用一个函数,该函数反过来更新模型“customer.name”
但是,“刷新”点击仍然不会更改视图中的{{customer.name}},我不明白为什么。
以下是我的申请内容。
的index.html
<!doctype html>
<head>
<title>Test</title>
</head>
<body ng-app="roaMobileNgApp">
<script src="scripts/angular.js"></script>
<script src="scripts/angular-ui.js"></script>
<link rel="stylesheet" href="scripts/angular-ui.css">
<div class="container" ng-view=""></div>
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
</body>
</html>
app.js
'use strict';
angular.module('roaMobileNgApp', ['ui'])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
main.js
'use strict';
angular.module('roaMobileNgApp')
.controller('MainCtrl', function ($scope) {
$scope.customer = {name: '',
id: 0};
$scope.getDetails = function() {
$scope.customer.name = 'Test';
};
});
main.html中
<a href="#" ng-click="getDetails()">Refresh</a>
<p><input type="text" ng-model="customer.name"> {{ customer.name }} </p>
</div>
答案 0 :(得分:4)
这可能是因为您要点击以下地址更改地址:
<a href="#" ng-click="getDetails()">Refresh</a>
这会强制角度重新渲染html以及控制器。
将其更改如下:
<a href="javascript:void(0)" ng-click="getDetails()">Refresh</a>