为了账号安全,请及时绑定邮箱和手机立即绑定

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 关注
  • 650 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信