亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

angular的Directive傳值問題?

angular的Directive傳值問題?

RISEBY 2019-01-29 20:02:18
angular的Directive傳值問題
查看完整描述

3 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

單純的從你代碼來看的話,只要在組件加載的時候AddMusicCtrl.stores有值,directive是可以獲取到的。
所以你console出undefined的原因可能是因為在directive加載的時候,AddMusicCtrl.stores并沒有值。
你可以嘗試著這么寫一下:

<stores list="AddMusicCtrl.stores" data-ng-if="AddMusicCtrl.stores"></stores>

或者在你的controller里面給AddMusicCtrl.stores一個默認值。


查看完整回答
反對 回復 2019-03-17
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

這里并非是“傳不進去值”,而是在傳值的時候AddMusicCtrl.stores這個變量還沒有值。在controller中為AddMusicCtrl.stores設置一個默認值就可以解決這個問題,也可以在指令中監聽一下list。當list變化時(也就是從沒值變到有值得時候 ),就可以打印出來了

   link: function (scope,elem,attr) {
          scope.$watch('list',function(newVlaue){
               console.log(scope.list)
          })
           
    }

在指令的編譯過程中,controller指令聲明了變量而未給它賦值,編譯stores指令的時候,所綁定的變量還沒有賦值,因而打印出 undefined。


查看完整回答
反對 回復 2019-03-17
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

angular.module('index_area').directive('stores', function () {

    return {

        restrict: 'E',

        replace: true,

        scope: true,

        templateUrl: 'Template/StoresSelect.html',

        link: function (scope,elem,attr) {

            //var value= scope.AddMusicCtrl.stores

            console.log(scope.AddMusicCtrl.stores)

        }

    }

})



<div class="form-lyout">

    <div class="form-title">參與區域</div>

    <div class="form-layout">

        <div class="radio">

            <label>

                 <input type="radio" name="exclusives" value="true"  ng-model='AddMusicCtrl.music.exclusive' checked>

                    全部門店

            </label>

        </div>

        <div class="radio">

            <label>

                 <input type="radio" name="exclusives" value="true"  ng-model='AddMusicCtrl.music.exclusive' checked>

                    部分門店

            </label>

        </div>

    </div>

</div>

<div class="form-lyout">

    <div class="form-title">門店篩選</div>

    <div class="form-layout">

        {{AddMusicCtrl.stores}}

        <store></stores>

    </div>

</div>


查看完整回答
反對 回復 2019-03-17
  • 3 回答
  • 0 關注
  • 683 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號