第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

angular directive幾個問題。求解釋

angular directive幾個問題。求解釋

呼啦一陣風 2018-12-06 12:15:02
demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .expandertsp { border: 1px solid black; width: 250px; } .expandertsp > .title { background-color: black; color: white; padding: .1em .3em; cursor: pointer; } .expandertsp > .body { padding: .1em .3em; } </style> </head> <body ng-app='expanderModule'> <div ng-controller='SomeController'> <expander class='expandertsp' expander-title='title'> </expander> </div> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> <script> var expanderModule = angular.module('expanderModule', []); expanderModule.directive('expander', function () { return { restrict: 'EA', replace: true, transclude: true, scope: { title: '=expanderTitle' }, template: '<div>' + '<div class="title" ng-click="toggle()">{{title}}</div>' + '<div class="body" ng-show="showMe" >{{text}}</div>' + '</div>', link: function (scope, element, attrs) { scope.showMe = false; scope.toggle = function toggle() { scope.showMe = !scope.showMe; } } } }); expanderModule.controller('SomeController', function ($scope) { $scope.title = '點擊展開'; $scope.text = ' class為"bodydiv 綁定的text為什么不顯示呢?'; }); </script> </body> </html> 第一個問題:自定義指令directive 模板template 里面的{{text}}為什么運行沒顯示。而 {{title}}又顯示了呢?不明白。第2個問題呢: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .expandertsp { border: 1px solid black; width: 250px; } .expandertsp > .title { background-color: black; color: white; padding: .1em .3em; cursor: pointer; } .expandertsp > .body { padding: .1em .3em; } </style> </head> <body ng-app='expanderModule'> <div ng-controller='SomeController'> <expander class='expandertsp' expander-title='title'> {{text}} </expander> </div> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> <script> var expanderModule = angular.module('expanderModule', []); expanderModule.directive('expander', function () { return { restrict: 'EA', replace: true, transclude: true, scope: { title: '=expanderTitle' }, template: '<div>' + '<div class="title" ng-click="toggle()">{{title}}</div>' + '<div class="body" ng-show="showMe" ng-transclude ></div>' + '</div>', link: function (scope, element, attrs) { scope.showMe = false; scope.toggle = function toggle() { scope.showMe = !scope.showMe; } } } }); expanderModule.controller('SomeController', function ($scope) { $scope.title = '點擊展開'; $scope.text = ' class為"bodydiv 綁定的text為什么不顯示呢?'; }); </script> </body> </html> 自定義指令directive 里面的scope 理解局部變量 內部改變 不影響 其他控制器對應變量 解釋正常? 我把? scope: { title: '=expanderTitle' }里面的expanderTitle改成其他的 就顯示不出來了 ?不理解。?=是雙向綁定 可在控制器里面沒看到?expanderTitle呢? 顯示效果? ? 求解答
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

不才剛學Angular沒多久 還沒理解透暫且給點建議作參考

這倆問題應該都是隔離scope的問題 第一個問題里面的scope已經(jīng)被隔離了 text沒有定義 而且這時的title也不是$scope.title

這個title是expander-title綁定的數(shù)據(jù) 恰恰你又綁到了$scope.title上。。

第二個問題 expanderTitle要去找expander-title 指令里面名字好像用駝峰法 外面使用的時候用的‘-’

剛學沒多久可能說的不夠明白還請見諒~

查看完整回答
反對 回復 2018-12-16
?
達令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

ng-click="toggle()"錯了;接的是表達式不是執(zhí)行,去掉括號。

查看完整回答
反對 回復 2018-12-16
  • 2 回答
  • 0 關注
  • 544 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號