欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Angularjs手動(dòng)解析表達(dá)式($parse)

 更新時(shí)間:2016年10月12日 09:33:54   作者:冰果在線  
這篇文章主要介紹了Angularjs手動(dòng)解析表達(dá)式($parse)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

下面一段代碼給大家介紹了angularjs手動(dòng)解析表達(dá)式($parse),具體代碼如下所示:

<!DOCTYPE html>
<html lang="zh-CN" ng-app="app">
<head>
<meta charset="utf-8">
<title>手動(dòng)解析表達(dá)式($parse)</title>
<link rel="stylesheet" href="../bootstrap.min.js">
</head>
<body ng-controller="myController">
<div ng-controller="myController">
<input type="text" ng-model="expr" placeholder="enter an expression">
<h2>{{ parsedValue }}</h2>
</div>
<script src="../angular.min.js"></script>
<script>
angular.module('app', [])
.controller('myController', function($scope, $parse) {
$scope.$watch('expr', function(newVal, oldVal, s) {
if(newVal !== oldVal) {
var parseFun = $parse(newVal);
$scope.parsedValue = parseFun(s);
// 使用鏈?zhǔn)秸{(diào)用的方式 你也可以這樣寫 
// $scope.parsedValue = $parse(newVal)(s);
}
})

})
</script>
</body>
</html>

補(bǔ)充:解析AngularJS表達(dá)式

盡管AngularJS會在運(yùn)行$digest循環(huán)的過程中自動(dòng)解析表達(dá)式,但有時(shí)手動(dòng)解析表達(dá)式也是非常有用的。AngularJS通過$parse這個(gè)內(nèi)部服務(wù)來進(jìn)行表達(dá)式的運(yùn)算,這個(gè)服務(wù)能夠訪問當(dāng)前所處的作用域。這個(gè)過程允許我們訪問定義在$scope上的原始JavaScript數(shù)據(jù)和函數(shù)。將$parse服務(wù)注入到控制器中,然后調(diào)用它就可以實(shí)現(xiàn)手動(dòng)解析表達(dá)式。舉例來說,如果頁面上有一個(gè)輸入框綁定到了expr變量上,如下所示:

<div ng-controller="MyController">
<input ng-model="expr"
type="text"
placeholder="Enter an expression" />
<h2>{{ parseValue }}</h2>
</div>

我們可以在MyController中給expr這個(gè)表達(dá)式設(shè)置一個(gè)$watch并解析它:

angular.module("myApp", [])
.controller('MyController',
function($scope,$parse) {
$scope.$watch('expr', function(newVal, oldVal, scope) {
if (newVal !== oldVal) {
// 用該表達(dá)式設(shè)置parseFun
var parseFun = $parse(newVal);
// 獲取經(jīng)過解析后表達(dá)式的值$scope.parsedValue = parseFun(scope);
}});
});

以上所述是小編給大家介紹的Angularjs手動(dòng)解析表達(dá)式($parse),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論