Angularjs 指令中未定义变量,作用域独立
我创建了一个具有独立作用域的指令。selectedcontractguid通过html传递给指令 在指令中输入console.log$scope时,它会显示selectedcontractguid以及正确的guid 但当我尝试访问指令控制器中的$scope.selectedcontractguid时,它记录为未定义 有人知道为什么吗?请看下面的例子Angularjs 指令中未定义变量,作用域独立,angularjs,Angularjs,我创建了一个具有独立作用域的指令。selectedcontractguid通过html传递给指令 在指令中输入console.log$scope时,它会显示selectedcontractguid以及正确的guid 但当我尝试访问指令控制器中的$scope.selectedcontractguid时,它记录为未定义 有人知道为什么吗?请看下面的例子 <instalments-box selectedcontractguid="instalment.contract.guid"> &l
<instalments-box selectedcontractguid="instalment.contract.guid"> </instalments-box>
angular.module('app')
.directive('instalmentsBox', ['InstalmentService', function(InstalmentService) {
return {
templateUrl:'scripts/directives/contracts/instalments-box.html?v='+window.app_version,
restrict: 'E',
scope: {
selectedcontractguid: '='
},
controller: function($scope) {
console.log($scope.selectedcontractguid);
}
}
}]);
试试这一款可能是$watch帮助您:
angular.module('app')
.directive('instalmentsBox'['InstalmentService', function(InstalmentService) {
return {
templateUrl:'scripts/directives/contracts/instalments-box.html?v='+window.app_version,
restrict: 'E',
scope: {
selectedcontractguid: '=selectedcontractguid'
},
controller: function($scope,$watch) {
$scope.$watch('selectedcontractguid', function (watch) {
console.log(watch);
})
}
}
}]);
您如何在控制器中设置分期付款.contract.guid?谢谢,它对我有用,请您解释一下。为什么我要监视它?有时在angularJs中,$scope会创建一个对象的多个实例,所以$watch会监视所有这些实例。因此,很多时候您需要监视指令中的对象