1

我有一個小的Angular問題給你。在Angular中,我們應該在.controller.js還是.html中調用驗證函數?

比方說,我有一個.html代碼看起來像這樣:

<div> <span>{{billingController.amount}}</span> </div>

在我的控制文件I初始化值是這樣的:

vm.billingController.amount = parseAmount(vm.billingController.amount);

綜上所述:每我有的變量是這樣初始化的,所以如果這些值是null/undefined/empty我使用來應用一些邏輯函數,以便默認值是我想要的方式。

是否有任何性能提升相對調用這樣相同的功能:直接具有相同功能

<div> <span>{{billingController.parseAmount(billingController.amount)}}</span> </div>

威爾進.html火就多次?使用第二個選項有沒有任何性能問題?

感謝所有提前。

回答

1

這兩個是方式不同的事情

,當你在JS做,它在HTML它只是一個顯示

<div> 
    <span>{{billingController.parseAmount(billingController.amount)}}</span> 
</div> 

關於優先分配值回

vm.billingController.amount = parseAmount(vm.billingController.amount); 

哪裏:通常人們應該更喜歡在js中使用自定義邏輯,而不是html。儘量使用html進行顯示,expression sandboxes無論如何都不鼓勵

1

正確的方法是在角度js中定義作用域和模型,並在html中使用它。與其他MVC框架不同,AngularJS沒有特定的類或函數來創建模型對象。相反,AngularJS使用自定義方法和屬性擴展了原始JavaScript對象。這些對象,也稱爲AngularJS術語中的範圍,作爲AngularJS應用程序內視圖和其他部分(指令,控制器和服務)之間的粘合劑。

使用ng-model指令,您可以將輸入字段的值綁定到在AngularJS中創建的變量。

實施例:

<div> 
    <span>Amount: ng-model="amount" ng-bind="amount"</span> 
</div> 
     <script> 
    var app = angular.module('myApp', []); 
    app.controller('myCtrl', function($scope) { 
     var amount=getAmount(); 
     $scope.amount= parseAmount(amount); 
     //you need to put the logic inside getamount() 
    }); 
    </script> 
相關問題