如何在Angular.js中设置element的值 [英] How do I set the value of element in Angular.js
问题描述
为什么我不能在Angular.js中做到这一点?
Why can't I do this in Angular.js:
document.getElementById('divid').value = 'Change Text to This';
这是什么正确的"(角度)方式?
And what is the "right" (Angular) way of doing it?
推荐答案
在Angular中,使用ng-model
指令以便在模型(即JS变量)和视图(即<div>
).基本上,这意味着每当您更改视图中的数据时(例如,通过输入),更改将反映在您的JS变量中.见下文:
In Angular you use the ng-model
directive in order to create a two-way data binding between your model (i.e. a JS variable) and the view (i.e. the <div>
). Basically, this means that whenever you change the data in the view (through an input, for instance), the change will be reflected in your JS variable. See below:
HTML:
<html ng-app="myApp">
<div ng-controller="MyCtrl">
<div>{{myVariable}}</div>
<input type="text" ng-model="myVariable" />
</div>
</html>
JS:
/* App global module */
var myApp = angular.module('myApp');
/* Define controller to process data from your view */
myApp.controller('MyCtrl', function($scope) {
$scope.myVariable = "initialValue"; // this is the variable that corresponds to text inserted in your input
});
在这里,myVariable将具有"initialValue"作为初始值.输入的任何进一步更改将覆盖此变量的值.
Here, myVariable will have "initialValue" as an initial value. Any further changes to the input will overwrite the value of this variable.
还请注意,{{myVariable}}
将变量数据注入div中.当您更改输入中的值时,div文本也将更改.
Also notice that {{myVariable}}
injects the variable the data into your div. When you change the value in the input, the div text will be changed as well.
这篇关于如何在Angular.js中设置element的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!