如何修改某个特定DOM对象上的文本?尝试了以下代码,但最终更改了所有DOM文本。它会更改所有{{content}}值,而不仅仅是'b1'。
myfunc () {
$scope.content="nothing";
angular.element(document.getElementById('b1')).scope().content ='something';
}
这是html:
<button id="b1" type="button" ng-click="myfunc($event)">
{{content}}
</button>
<button id="b2" type="button" ng-click="myfunc($event)">
{{content}}
</button>
答案 0 :(得分:0)
你不应该使用angular.element
或在指令之外的任何地方进行任何DOM操作。你想要做的是将$scope.contents
定义为数组/对象,然后只更新你想要的索引:
$scope.contents = Array(2).fill('nothing');
$scope.updateButton = function(index) {
$scope.contents[index] = 'something';
};
至于你的模板:
<button type="button" ng-click="updateButton(0)">{{ contents[0] }}</button>
<button type="button" ng-click="updateButton(1)">{{ contents[1] }}</button>