我需要將狀態消息綁定到變量。如果它是空的,我需要隱藏div。如果它不是空的顯示div和消息。當我在控制器中更新$scope.statusMessage.msg
時,{{statusMessage.msg}}
未更新。如何解決它?模型的屬性沒有得到更新
<div class="alert alert-info"
ng-class="{'alert-danger': statusMessage.status == -1, 'alert-success': statusMessage.status == 1, 'alert-warning': statusMessage.status == 0}"
role="alert" ng-hide="(statusMessage.msg).length == 0">{{statusMessage.msg}}</div>
$scope.statusButtonAction = function(action){
$scope.statusMessage.msg = 'Validation Error';
}
UPDATE 1
<form role="form" class="form-inline" id="status-buttons">
<button type="button" class="btn btn-warning btn-lg" ng-click="statusButtonAction('Validation Error')">Validation Error</button>
</form>
UPDATE 2 聲明的:
$scope.statusMessage = {
msg: '',
status: null
};
UPDATE 3
UPDATE 4
我用https://github.com/angular-ui/ui-router。和我的配置是:
prototypeApplication.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider.state('welcome', {
url: '/',
views: {
'': {
templateUrl: 'views/prototype/welcome.html',
controller: 'welcomeController'
},
'[email protected]': {
templateUrl: 'views/components/header.html'
},
'[email protected]': {
templateUrl: 'views/prototype/welcome/check-in.html',
controller: 'checkInController'
},
'[email protected]': {
templateUrl: 'views/prototype/welcome/status-buttons.html',
controller: 'checkInController'
}
}
})
UPDATE 5
很奇怪,但是當我從面向對象表示切換到普通變量的所有作品:
$scope.statusMessage = '123';
$scope.statusState = null;
這是否意味着我必須使用一些技巧讓AngularJS讀取對象的屬性值?
'NG隱藏= 「statusMessage.msg == ''」' – 2014-12-04 11:00:07
請提供jsFiddle或plnkr ... – 2014-12-04 11:08:06
你能告訴我們你如何調用statusButtonAction? – 2014-12-04 11:08:17