1

私は角度指示文を持つ入力ラッパーを作成しようとしていて、ラベルは異なるはずです。今では、入力外のモデルにアクセスすることもできません(スコープでもfalse)。角度指示スコープ。単一変数をどのように単離するか

HTML:

<input-block data-label="my label"> 
    <input class="input-field" type="text" name="test" ng-model="test"/> 
</input-block> 

Test: {{test}} <!--not working--> 

角度:

profileApp.directive('inputBlock', function() { 
    return { 
     replace: true, 
     restrict: 'E', 
     transclude: true, 
     template: '' + 
     '<div class="input-block">' + 
      '<span class="input-text">{{label}}</span>' + 
      '<ng-transclude></ng-transclude>' + 
     '</div>', 
     link: function(scope, element, attrs) { 
      scope.label = attrs.label; 
     } 
    }; 
}); 

今のところ唯一のアイデアはすでにここに述べたように、単一の変数または

+1

*常に常に* ng-modelで常にオブジェクトを使用してください! – charlietfl

+0

@charlietflは正しく発音しません。 ''では何をしますか? – Phil

+0

@Phil – charlietfl

答えて

2

同様のものを分離するための方法を見つけることです、ちょうどng-modelのオブジェクトを使用してください。

<body ng-init="model = {}"> 
    <input-block data-label="my label2"> 
    <input class="input-field" type="text" name="test" ng-model="model.test"/> 
    </input-block> 

    Test: {{model.test}} 
</body> 

plunker:http://plnkr.co/edit/XxeMlVv6I6qOwjPoCUtQ?p=preview

+0

ありがとう。 'label'はどうですか? http://plnkr.co/edit/ncr6QtZ4Diy2uTHYA7dF?p=preview – Undefitied

+0

スコープが追加されました。本当に有効です。手伝ってくれてありがとう。 – Undefitied

関連する問題