JavaScript/Angularのオブジェクト配列の各項目に関数をバインドする構文を理解するのが難しいです。配列内の各項目にメソッドをバインドする
私はさまざまなアプローチを試してきましたが、おそらく構文的には正しいとは言えませんが、私はここで論理的に正しい方法でアプローチしているように感じます。
var module = angular.module('app', [])
.controller('controller', function() {
var vm = this;
vm.foo = 5;
vm.bars = [
{
price: 1000
},
{
price: 2000
}
];
var qty = function() {
return vm.foo/this.price;
};
for(var i = 0; i < vm.bars; i++) {
vm.bars.bind(vm.bars[i], qty);
}
});
私の考えは、各項目のthis
自体への結合は、各アイテムは対象外に住んqty()
機能に独自のprice
プロパティを参照できるようにするための最良の方法だろうということです。
私は基本的には、配列を設定するときに各項目のプロパティとして関数をコピー/貼り付けすることを避けようとしています。
私が持っているもの(したがって、あなたが持っているもの)は、構文的に正しいものではありません。私はあなたがしようとしているものを手に入れますが、 'bind'の使い方が間違っていることは間違いありません。エラーのために、私は(そしてあなたの)状態を受け取るでしょう、 'vm.bars.bindは関数ではありません。 ' – mariocatch
私は今見ます。あなたはこれをやろうとしているかもしれません:vm.qty = function(){ return vm.foo/this.price; }; for(var i = 0; i
Rikin