从 angularjs 的自定义指令访问值
access value from custom directive of angularjs
我对 angularjs 很陌生,我正在努力学习它。如果我在学习曲线上问一些愚蠢的问题,请原谅我。
我创建了可重用的自定义指令,效果很好。我的完整代码在
http://plnkr.co/edit/GxM78QRwSjTrsX1SCxF7?p=preview
$scope.validateSingle = function(item) {
$scope.text = item[$scope.textField] + ($scope.textField2 !== '' ? " (" + item[$scope.textField2] + ")" : "");
$scope.value = item[$scope.valueField];
console.log($scope.value);
$scope.placeholder = 'placeholderBlack';
$scope.hideItems();
if (typeof $scope.callback == 'function') {
$scope.callback($scope.value);
}
}
我也在上面的代码中分配了那个值,这是我的 plunker 的一部分
现在我的问题是在我 select 项目之后我想获得它的价值以供以后使用,我确实在 $scope.validateSingle 函数中用 $scope.value 分配了它,但我没有不知道如何访问它,如果我在页面上有超过 1 个指令,那么我们如何独立访问它的值
我希望指令在我 selected 项目后像下拉菜单一样工作,如果我想在某些按钮中单击它的值,那么我可以像 dropdown.value 一样使用,其中下拉菜单可以是指令的 id .希望我能澄清我的观点。
正如我告诉过你的,我正在学习曲线,我试图在不同的论坛上提出同样的问题,但我无法得到答案
但是我突然想到为什么我们不能使用 ngModal 作为我想要的 ngBind,所以首先在我的指令中添加了
require: 'ngModel',
然后在我的 $scope.validateSingle 函数中我添加了 ngModel.$setViewValue($scope.value);
其中 $scope.value 我正在分配选定的值所以我的 validateSingle 函数变成这样
$scope.validateSingle = function(item) {
$scope.text = item[$scope.textField] + ($scope.textField2 !== '' ? " (" + item[$scope.textField2] + ")" : "");
$scope.value = item[$scope.valueField];
$scope.placeholder = 'placeholderBlack';
$scope.hideItems();
if (typeof $scope.callback == 'function') {
$scope.callback($scope.value);
}
ngModel.$setViewValue($scope.value);
}
所以宾果游戏每件事都像我想要的那样魅力四射。我编辑了我的 plunker 你也可以查看 http://plnkr.co/edit/GxM78QRwSjTrsX1SCxF7?p=preview
希望对新手有所帮助
我对 angularjs 很陌生,我正在努力学习它。如果我在学习曲线上问一些愚蠢的问题,请原谅我。
我创建了可重用的自定义指令,效果很好。我的完整代码在 http://plnkr.co/edit/GxM78QRwSjTrsX1SCxF7?p=preview
$scope.validateSingle = function(item) {
$scope.text = item[$scope.textField] + ($scope.textField2 !== '' ? " (" + item[$scope.textField2] + ")" : "");
$scope.value = item[$scope.valueField];
console.log($scope.value);
$scope.placeholder = 'placeholderBlack';
$scope.hideItems();
if (typeof $scope.callback == 'function') {
$scope.callback($scope.value);
}
}
我也在上面的代码中分配了那个值,这是我的 plunker 的一部分
现在我的问题是在我 select 项目之后我想获得它的价值以供以后使用,我确实在 $scope.validateSingle 函数中用 $scope.value 分配了它,但我没有不知道如何访问它,如果我在页面上有超过 1 个指令,那么我们如何独立访问它的值
我希望指令在我 selected 项目后像下拉菜单一样工作,如果我想在某些按钮中单击它的值,那么我可以像 dropdown.value 一样使用,其中下拉菜单可以是指令的 id .希望我能澄清我的观点。
正如我告诉过你的,我正在学习曲线,我试图在不同的论坛上提出同样的问题,但我无法得到答案
但是我突然想到为什么我们不能使用 ngModal 作为我想要的 ngBind,所以首先在我的指令中添加了
require: 'ngModel',
然后在我的 $scope.validateSingle 函数中我添加了 ngModel.$setViewValue($scope.value);
其中 $scope.value 我正在分配选定的值所以我的 validateSingle 函数变成这样
$scope.validateSingle = function(item) {
$scope.text = item[$scope.textField] + ($scope.textField2 !== '' ? " (" + item[$scope.textField2] + ")" : "");
$scope.value = item[$scope.valueField];
$scope.placeholder = 'placeholderBlack';
$scope.hideItems();
if (typeof $scope.callback == 'function') {
$scope.callback($scope.value);
}
ngModel.$setViewValue($scope.value);
}
所以宾果游戏每件事都像我想要的那样魅力四射。我编辑了我的 plunker 你也可以查看 http://plnkr.co/edit/GxM78QRwSjTrsX1SCxF7?p=preview
希望对新手有所帮助