嗨我是新角度,我想重用一个函数来修改不同的模型。传递模型作为函数的参数
<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的数据,具体取决于我通过哪个写入()。我如何通知写模型来绑定数据?换句话说,我如何使该功能可重用。
嗨我是新角度,我想重用一个函数来修改不同的模型。传递模型作为函数的参数
<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的数据,具体取决于我通过哪个写入()。我如何通知写模型来绑定数据?换句话说,我如何使该功能可重用。
您可以在NG-模型直接传递给函数,
<button ng-click="write(f1)" >Save</button>
和cotroller,
$scope.write = function(val){
//do with the value
}
$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>
}
最后我为了这样做是为了有机会获得具体型号在我的功能
<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"
}
这样写()可以通过任何模型中使用
看到这个
> 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>
我想你误会了。我不需要我需要引用模型的值,所以我可以执行'$ scope.val =“something”'而不是'$ scope.f1 =“something”'。我不想有3个不同的写功能 – flexxxit
@flexxxit我还是不明白你想实现什么 – Sajeetharan