我对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
的一部分现在我的问题是在我选择项目之后我想让它值以供以后使用,我在$ scope.validateSingle函数中使用$ scope.value进行了分配,但我不知道如何访问它并且如果我有页面上超过1个指令而不是我们如何独立访问其值
我希望指令工作就像下拉一旦我选择了项目,如果我想在某个按钮点击它的值,那么我可以使用像dropdown.value其中dropdown可能是指令的id。希望我能清楚我的观点。
答案 0 :(得分:0)
正如我告诉你我正在学习曲线,我试图在不同的论坛中提出同样的问题,但我无法得到答案
但突然之间有一些事情在我的脑海中触发了为什么我们不能使用 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
希望它对一些新学习者有所帮助