0

嗨我是新角度,我想重用一个函数来修改不同的模型。传递模型作为函数的参数

<p ng-bind="f1" ></p> 
<p ng-bind="f2" ></p> 
<p ng-bind="f3" ></p> 
<button ng-click="write()" >Save</button> 

例如我有上面的html。我希望能够使用write()来绑定f1,f2或f3的数据,具体取决于我通过哪个写入()。我如何通知写模型来绑定数据?换句话说,我如何使该功能可重用。

回答

0

您可以在NG-模型直接传递给函数,

<button ng-click="write(f1)" >Save</button> 

和cotroller,

$scope.write = function(val){ 
//do with the value 
} 
+0

我想你误会了。我不需要我需要引用模型的值,所以我可以执行'$ scope.val =“something”'而不是'$ scope.f1 =“something”'。我不想有3个不同的写功能 – flexxxit

+0

@flexxxit我还是不明白你想实现什么 – Sajeetharan

0
$scope.write = function(val){ 
if(val.f1){ 
//do watevr u want 
} 
else if(val.f2){ 
//if value f2 is not undefined 
} 
else if(val.f3){ 

} 




<p data-ng-model="obejct.f1" ></p><p data-ng-model="obejct.f2" ></p><p data-ng-model="obejct.f3" ></p><button data-ng-click="write(object)" >Save</button> 

} 
1

最后我为了这样做是为了有机会获得具体型号在我的功能

<p ng-bind="f1" ></p> 
<p ng-bind="f2" ></p> 
<p ng-bind="f3" ></p> 
<button ng-click="write("f1")" >Save</button> 

我通过模型作为一个字符串,并在我的功能

$scope.write= function(modelName){ 
$scope[modelName] = "Some Value" 
} 

这样写()可以通过任何模型中使用

0

看到这个

> JS:

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.f1 = 'Welcome'; 
    $scope.f2 = 'to'; 
    $scope.f3 = 'Bangladesh'; 
    $scope.write = function(x,y,z){ 
    console.log(x) 
    console.log(y) 
    console.log(z) 
    $scope[x] = 52464645; 
    console.log($scope[x]); 
    }; 
}); 

html:

<!DOCTYPE html> 
<html ng-app="plunker"> 

    <head> 
    <meta charset="utf-8" /> 
    <title>AngularJS Plunker</title> 
    <script>document.write('<base href="' + document.location + '" />');</script> 
    <link rel="stylesheet" href="style.css" /> 
    <script data-require="[email protected]" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js" data-semver="1.5.11"></script> 
    <script src="app.js"></script> 
    </head> 

    <body ng-controller="MainCtrl"> 
    <p ng-bind="f1" ></p> 
<p ng-bind="f2" ></p> 
<p ng-bind="f3" ></p> 
<button ng-click="write(f1,f2,f3)" >Save</button> 
    </body> 

</html> 

示例。 https://plnkr.co/edit/drZG4ZWetxOWPSPbxn26