在函數內調用時,不會觸發簡單的ng-class綁定,我該如何解決這個問題?如何更改函數中的作用域值 - 爲什麼我的代碼無法工作?
$scope.afterHide = function() {
$scope.inputState = "fade-in";
}
<label ng-class="inputState">Next statement</label>
在函數內調用時,不會觸發簡單的ng-class綁定,我該如何解決這個問題?如何更改函數中的作用域值 - 爲什麼我的代碼無法工作?
$scope.afterHide = function() {
$scope.inputState = "fade-in";
}
<label ng-class="inputState">Next statement</label>
工作正常,在這個例子中:
angular.module("app",[])
.controller("ctrl", function($scope) {
$scope.afterHide = function() {
$scope.inputState = "fade-in";
};
$scope.reset = function() {
$scope.inputState = "";
};
});
.fade-in {
background-color: red;
}
<script src="//unpkg.com/angular/angular.js"></script>
<div ng-app="app" ng-controller="ctrl">
<label ng-class="inputState">Next statement</label>
<br><button ng-click="afterHide()">Invoke afterHide</button><br>
<button ng-click="reset()">Reset</button>
</div>
如果它工作,然後我認爲它與我的代碼的整體邏輯有關。函數
$scope.afterHide
由其中一個指令中的事件觸發,該指令在控制器外部定義。在html中,它基本上只是另一個具有變化狀態的div。發生更改時,頁面上的其他元素也會受到影響,在此情況下,其他元素是標籤標籤。發生更改時,控制器內的$scope.afterHide
功能由控制器外部定義的指令調用。
作用域按層次結構排列,模仿應用程序的DOM結構。
的ng-click
指令不能在一個範圍那就是它的層次結構外調用的函數。另外,如果ng-click
指令位於使用隔離範圍的指令內的模板上,則該事件必須通過綁定表達式「&
」綁定到父範圍。
欲瞭解更多資訊,請
裏面'scope'選項' '我秀': '=''應該是' 'myShow':「= '' –
是的,設置該指令實際上存在很多錯誤,但與我的問題無關。 實際錯誤在: $ scope.afterHide = function(){ $ scope.inputState =「fade-in」; //這行不在這裏調用爲什麼? console.log('刷新語句完全隱藏AFTERHIDE'); } – redleome
**消除與問題無關的任何問題。**請參閱[如何創建最小,完整和可驗證示例](https://stackoverflow.com/help/mcve)。 – georgeawg