如何修改DOM按钮的值?

时间:2016-06-23 15:46:07

标签: angularjs

如何修改某个特定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>

1 个答案:

答案 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>