gpt4 book ai didi

angularjs - 在 AngularJS 中,为什么不能通过简单的函数访问 $scope 变量?

转载 作者:行者123 更新时间:2023-12-04 16:24:18 24 4
gpt4 key购买 nike

我的代码如下所示:

angular.module('xyz', [])
.controller('listController', ['$scope',
function($scope) {
$scope.deliveryOptions = 0;
var vm = this;

function doTransaction() {
console.log('delivery options is ' + vm.$scope.deliveryOptions);
}
}
]);

console.log(delivery options) 中,它给我错误,它无法获取未定义或 null 引用的属性“deliveryOptions”。那么我如何访问该变量呢?

最佳答案

问题是 $scope 没有在 vm 对象上定义。要解决这个问题,您应该像这样定义 $scope 对象上的所有内容

angular.module('xyz', [])
.controller('listController', ['$scope',
function($scope) {
$scope.deliveryOptions = 0;

$scope.doTransaction = function() {
console.log('delivery options is ' + $scope.deliveryOptions);
}
}
]);

或者在虚拟机对象上

angular.module('xyz', [])
.controller('listController',
function() {
var vm = this;
vm.deliveryOptions = 0;

vm.doTransaction = function() {
console.log('delivery options is ' + vm.deliveryOptions);
}
}
);

混合 vm 和 $scope 并不是最好的方法

关于angularjs - 在 AngularJS 中,为什么不能通过简单的函数访问 $scope 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47689325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com