我有一个带有$ scope的控制器,
$scope.value = "5v8uEFkzwAY"
在我的应用中,我有一些带有值的a
个链接元素,我希望将该值存储到点击函数的$scope.value
中。
<a href="#" value="KlyknsTJk0w">On click insert this value into $scope.value</a>
<a href="#" value="nyc6RJEEe0U">On click insert this value into $scope.value</a>
<a href="#" value="zSWdZVtXT7E">On click insert this value into $scope.value</a>
<a href="#" value="Lm8p5rlrSkY">On click insert this value into $scope.value</a>
我将如何实现这样的目标?
答案 0 :(得分:1)
如果您更喜欢方法解决方案。
$scope.setValue = function($event){
$scope.value = $event.target.getAttribute('value')
}
HTML
<a href="#" value="KlyknsTJk0w" ng-click="setValue($event)">On click nsert this value into $scope.value</a>
您可以使用inline
代码。
<a href="#", value="KlyknsTJk0w" ng-click="value = $event.target.getAttribute('value')">On click nsert this value into $scope.value</a>
其中value引用$scope.value
,this.value引用anker标记属性(命名为value)。
这是工作的plunkr link
答案 1 :(得分:1)
您可以使用以下代码实现预期的行为:
在您的控制器中:
$scope.values = ['KlyknsTJk0w', 'nyc6RJEEe0U', 'zSWdZVtXT7E', 'Lm8p5rlrSkY'];
$scope.value = '5v8uEFkzwAY';
$scope.setValue = function(newValue) {
$scope.value = newValue;
};
在HTML中:
<a ng-repeat="v in values" href="#" ng-click="setValue(v)">On click insert this value into {{v}}</a>
Selected value: {{value}}
答案 2 :(得分:0)
最好的方法是使用指令:
module.directive('myClick', function() {
return {
link: function(scope, element, attrs) {
element.on('click', function() {
scope.value = attrs.value;
scope.$digest();
});
}
};
});
你可以像这里一样使用它:
<a href="#" value="nyc6RJEEe0U" my-click>On click insert this value into $scope.value</a>