gpt4 book ai didi

javascript - 如何使用 Angular 动态更新数据

转载 作者:行者123 更新时间:2023-11-30 12:45:27 33 4
gpt4 key购买 nike

当用户使用 Angular 框架从选择元素中选择一个选项时,我正在尝试更新现有数据

我有这样的东西。

<div>
<button type="button">
{{tests[0].test}}
</button>
<ul class="dropdown-menu" role="menu">
<li ng-repeat='test in tests'><a href="#/test/{{test.test}}" >{{test.test}}</a></li>
</ul>
</div>

我的测试controller.js

angular.module('MHApp', ['ngRoute']).
controller('NavCtrl', ['$scope', function ($scope) {
$scope.tests = [
{'test':'test 1', 'link':'t1'},
{'test':'test 2', 'link':t2'},
{'test':'test 3', 'link':'t3'},
]
}])

目前按钮内容是使用tests[0].test 硬编码的,但是当用户选择 li a 标签时,我希望按钮元素上下文得到更新。数据实际上更复杂。谁能帮我解决这个问题?非常感谢!

s

最佳答案

html:

 <body ng-controller="NavCtrl">
<div>
<button type="button">
{{selected}}
</button>
<ul class="dropdown-menu" role="menu" ng-click='action($event)'>
<li ng-repeat='test in tests'><a href="#/test/{{test.test}}" data-test={{test.test}} >{{test.test}}</a></li>
</ul>
</div>
</body>

js:

var app = angular.module('app', []);
app.controller('NavCtrl', ['$scope', function ($scope) {
$scope.tests = [
{'test':'test 1', 'link':'t1'},
{'test':'test 2', 'link':'t2'},
{'test':'test 3', 'link':'t3'},
];

$scope.selected = $scope.tests[0].test;

$scope.action = function (e) {
$scope.selected = angular.element(e.srcElement).attr('data-test');
console.log($scope.selected);
}
}]);

所以,简单地说,在这里我捕捉到父 UL 的点击,然后提取数据测试 值。我特地做了这个,假设 anchor 的值可能是无效的(意味着太长,或者例如不敏感)

工作样本:http://plnkr.co/edit/HAI1DAwKbB9co9BCUsH3?p=preview

关于javascript - 如何使用 Angular 动态更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22647487/

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