我在控制器中的函数内部有一个范围变量,它没有在html中显示
app.controller('testController', function($rootScope, $http, $scope,
$uibModal, $window) {
$scope.show = function(dashboard) {
$scope.test="test";
$scope.option.testVisible=true;
}
})
和html
<div ng-controller="testController">
<div>{{test}}</div>
此<div>{{test}}</div>
最初隐藏ng-style="{'visibility': option.testVisible?'visible':'hidden'}"
,然后在$scope.show
html没有显示$scope.test.
的值
如果在函数外部和控制器内部定义了$scope.test
,则同样适用。
答案 0 :(得分:-2)
由于非常理由将其放在函数内,因此您的值不会显示。如果你仔细观察,那么你可以看到代码中的任何地方都没有调用$scope.show
函数。它只是定义了。
现在,如果您不想更改当前代码,那么您有两种方法可以实现您想要的效果。
定义后立即调用控制器中的$scope.show
功能。
app.controller('testController', function($rootScope, $http, $scope,
$uibModal, $window) {
$scope.show = function(dashboard) {
$scope.test="test";
}
$scope.show();
})
其次,您可以使用$scope.show
标记从HTML
调用相同的ng-init
函数。
<div ng-controller="testController" ng-init="show()">
<div>{{test}}</div>
两种方式都会调用$scope.show
函数,它会将测试变量放在$scope
变量中。它将显示在您的页面上。
这是将变量赋值放在控制器内部或控制器内部的区别。