在函数内调用时,不会触发简单的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