2017-05-09 6 views
0

私はAngularJSの初心者です。ここで間違っているのは私のコードです。基本的に私は私のindex.htmlからポストIDの属性値を取得し、私のコントローラからコンソールでそれを印刷しようとしています。私のindex.htmlでAngularJS:カスタムタグから属性値を取得します。

<post-creator post-id="5" category="1"></post-creator> 
<script src="components/post-creator/post-creator.component.js"></script> 

ポストcreator.component.js:

function controller($http) { 
     var model = this; 

     model.$onInit = function() { 
      console.log("id again:" + model.postId); 
     } 
module.component("postCreator", { 
     templateUrl: "components/post-creator/post-creator.template.html", 
     bindings: { 
      value: "<" 
     }, 
     controllerAs: "model", 
     controller: ["$http", controller] 
    }); 
+2

は、あなたの '' postId'の代わりに、[値]を含めるbindings'ではないでしょうか?このような – tanmay

+0

私に例を教えてもらえますか? – MTA

+0

答えとして追加しました.. – tanmay

答えて

1

HTMLに、あなたはpost-id="..." category="..."を渡しているので、彼らはあなたのbindingsの一部である必要がありますcomponentであり、valueではありません。

bindings: { 
    postId: "<", 
    category: "<" 
} 

ここではサンプルの作業例を示します:

var module = angular.module("myApp", []) 
 

 
function controller($http) { 
 
    var model = this; 
 

 
    model.$onInit = function() { 
 
    console.log("id again:" + model.postId); 
 
    } 
 
} 
 

 
module.component("postCreator", { 
 
    template: "<div>post creator</div>", 
 
    bindings: { 
 
    postId: "<", 
 
    category: "<" 
 
    }, 
 
    controllerAs: "model", 
 
    controller: ["$http", controller] 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
    <post-creator post-id="5" category="1"></post-creator> 
 
</div>

関連する問題