作为父控制器中的监视变量的角度控制器
我如何看一个变量,即绑定到父控制器?作为父控制器中的监视变量的角度控制器
function config($stateProvider) { $stateProvider
.state('home', {
url: '/',
templateUrl: 'home.html',
controller: 'HomeController',
controllerAs: 'vm'
})
.state('home.child', {
url: '/child',
templateUrl: 'child.html',
controller: 'ChildController',
controllerAs: 'vm'
});
}
function HomeController($scope) {
this.title = 'Some Title';
}
function ChildController($scope) {
var vm = this;
$scope.$watch('vm.title', function(current, original) {
$log.info('title was %s', original);
$log.info('title is now %s', current);
});
}
的手表功能不认父称号的变化..
的感谢! :)
回答:
引用属于父级的对象时,只需访问$parent
范围。也习惯于更清洁和更标准的方式来构建你的控制器JS。
HTML
<html ng-app="myApp"> <body>
<div ng-controller="HomeController">
<input type="text" ng-model="title">
<div ng-controller="ChildController"></div>
</div>
</body>
</html>
JS
var app = angular.module("myApp", []); app.controller("HomeController", ['$scope', '$log', function ($scope, $log) {
$scope.title = "Some Title";
}]);
app.controller("ChildController", ['$scope', '$log', function ($scope, $log){
$scope.$watch('$parent.title', function(newValue, oldValue) {
$log.info('title was %s', oldValue);
$log.info('title is now %s', newValue);
});
}]);
回答:
父控制器:
$scope.cancelFlag = false;
儿童控制器:
1)$parent.cancelFlag
指父控制器。 2)如果我们在父控制器中做任何更改,watch将在子控制器中被调用。
实施例:
$scope.cancelFlag = true or false;
3)在这里,我们可通过使在父控制器更改调用子控制器的方法。
$scope.$watch('$parent.cancelFlag', function (newVal, oldVal)
{
if (newVal != null && newVal==true)
$scope.childControllerMethod();
});
$scope.childControllerMethod= function() { };
以上是 作为父控制器中的监视变量的角度控制器 的全部内容, 来源链接: utcz.com/qa/261475.html