国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

AngularJS解決ng界面長表達式(ui-set)的方法分析

2019-11-19 19:02:16
字體:
來源:轉載
供稿:網友

本文實例講述了AngularJS解決ng界面長表達式(ui-set)的方法。分享給大家供大家參考,具體如下:

本文來自網友sun shine的問題,問題如下:

    您好, 我想求教一個問題.
    在$scope中我的對象名字寫的特別深, 在 html中我又多次用到了同一個對象, 對不對在 html中讓它綁定到一個臨時變量呢?
    比如:
    $scope.this.is.a.very.deep.obj = {
    'name': 'xxx',
    'state': 'active'};

    在 模板中,

    {{this.is.a.very.deep.obj.name}}
    {{this.is.a.very.deep.obj.state}}
    類似于這種, 我能否把 this.is.a.very.deep.obj 預先賦給一個臨時的變量, 然后在 兩個 span中只需 o.name, o.state 就行了呢? 我覺得這樣解析起來是不是快一點.

    但是我試了, 并沒有成功. 求指點.
    先謝了.

在這里首先需要說明的是ng界面的所有引用都需要在$scope這個viewmodel(ui和view的膠水層),所以如果我們希望能夠把表達式變得更可讀,更友好,那么我們就必須在$scope上創建這個變量。

再則對于ng其使用使用的一堆的$watch,實現臟檢查,如果你理解這些了,那么我們就可以很容易的實現一套如spring的

<c:set var="xxx" expression="xxx" />

的tag.

對于實現這類tag,我們最好的方式則是利用ng的directive來實現,代碼如下:

angular.module("greengerong.ui.tag", []) .directive("uiSet", [  function() {   return {    restrict: "EA",    link: function(scope, elm, iAttrs) {     scope.$watch(iAttrs.expression, function(val) {      scope[iAttrs.       var] = val;      var apply = !scope.$$phase ? scope.$apply : angular.noop;      apply();     });    }   };  }]);

希望本文所述對大家AngularJS程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南靖县| 时尚| 瑞金市| 当涂县| 宜都市| 龙州县| 施甸县| 顺平县| 嘉禾县| 海伦市| 稻城县| 新巴尔虎右旗| 石景山区| 军事| 乌兰察布市| 九江县| 伊金霍洛旗| 陇川县| 泰州市| 漾濞| 双江| 巨鹿县| 白朗县| 平邑县| 时尚| 迁西县| 长宁县| 北辰区| 延边| 应用必备| 长岛县| 洪江市| 扎赉特旗| 宁都县| 西乌| 紫阳县| 林西县| 峨眉山市| 旅游| 沁源县| 洮南市|