如果你只需要在DOM來顯示它,這應該工作:
<div ng-controller="appCtrl">
<p>{{ hasClosebtn ? "test" : "sdffffffff" }}</p>
<div>
如果你需要存儲在$scope.closeBtnText
,您可以使用$watch
:
$scope.$watch('hasClosebtn', function(newValue, oldValue) {
$scope.closeBtnText = newValue ? 'test' : 'sdffffffff';
});
給予一定的見解爲什麼$scope
變量不被當前代碼更新,覺得這個場景:
app.controller('appCtrl', function($scope) {
$scope.hasClosebtn = true;
$scope.closeBtnText = ($scope.hasClosebtn) ? 'test' : 'sdffffffff';
// $scope.closeBtnText => 'test'
$scope.hasClosebtn = false;
// $scope.closeBtnText => 'test'
});
代碼的流量不回去重新評估你的三元表達。在$scope.hasClosebtn
上檢測到變化發生在$digest
週期。
您可以使用'$ scope。$ watch'。 – NMSL