将值绑定到Angular JS中的输入

时间:2012-09-14 09:44:26

标签: javascript angularjs

我有这样的输入

<input type="text" name="widget.title" ng-model="widget.title" value="{{widget.title}}"/>

我想动态更改输入值,因此我使用它但不会更改值:

$scope.widget.title = 'a';

5 个答案:

答案 0 :(得分:66)

您根本不需要设置值。 ng-model完成所有工作:

  • 设置模型的输入值
  • 更改输入时更新模型值
  • 从js
  • 更改模型时更新输入值

这是小提琴:http://jsfiddle.net/terebentina/9mFpp/

答案 1 :(得分:16)

如果您不想使用ng-model,可以试试ng-value

以下是这方面的小提琴:http://jsfiddle.net/Rg9sG/1/

答案 2 :(得分:2)

点击ng-value后,使用button输入框的设定值:

"input type="email"  class="form-control" id="email2" ng-value="myForm.email2" placeholder="Email"

将值设置为:

 $scope.myForm.email2 = $scope.names[0].success;

答案 3 :(得分:-1)

有时候,没有与DOM交互的功能/功能存在问题

尝试急剧更改值,然后分配$ scope

var zipFiles = function(filesList) {
var zip = new JSZip();
return Promise.all(
        filesList.map(function(file) {
               return $cordovaFile.readAsBinaryString(cordova.file.dataDirectory + $rootScope.username, file)
                  .then(function(binaryData) {
                    return new Promise(function(resolve, reject) {
                        resolve(zip.file(file, binaryData, {binary: true}));
                    })        
                  })
                  .catch(function(error) {
                    console.log('Error during fetch content or zipping '+JSON.stringify(error));
                  })
             })
         )
        .then(function(zipData) {
            return zipData.generateAsync({type:"blob"});
        }).then(function (blob) {
            $cordovaFile.writeFile(cordova.file.dataDirectory+$rootScope.username, 'abc.zip', blob, true)
            .then(function(data) {
               console.log('Zip file written to device at '+cordova.file.dataDirectory+$rootScope.username); 
            })
        }).catch(function(error) {
            console.log('Error while zipping and writing '+JSON.stringify(error));
        }) 
} 

答案 4 :(得分:-6)

{{widget.title}} 试试这个它会起作用