私の考えは、分離したコンポーネントから大きなフォームを作成することです。だから、これは私のメインのテンプレートです:コントローラ読み取りコンポーネントデータ
<form novalidate>
<div class="row">
<user></user>
</div>
<button type="button" class="btn btn-default" ng-click="submit()"> Submit </button>
</form>
とそのコントローラ(テンプレートがコントローラにUIルートの設定からバインドされ)
今(function() {
'use strict';
angular.module('app')
.controller('formCtrl', formCtrl);
function formCtrl ($scope) {
$scope.submit = function() {
console.log("read data");
}
}
})();
、ユーザーコンポーネント:
(function() {
'use strict';
var module = angular.module('app.user');
module.component("user", {
templateUrl: "app/user/user.html",
controllerAs: "model",
controller: function() {
var model = this;
model.user = {};
}
});
})();
ユーザーテンプレート:
<form novalidate>
<form-group>
<label for="inputUser"> Name <label>
<input ng-model="model.user.name" id="inputUser" type="text" placeholder="User"/>
</form-group>
<form-group>
<label for="inputUser"> Email <label>
<input ng-model="model.user.email" id="inputUser" type="email" placeholder="Email"/>
</form-group>
<div>
{{model.user | json}}
</div>
</form>
これで、ユーザーが送信したときにユーザーデータを読み取ることができるようになりました。どうしたらいいですか?
優秀な答え:スニペット作業
!あなたはそれに深く関わる役に立つ情報源を知っていますか? – FacundoGFlores
@FacundoGFlores実際にはかなり浅い概念ですが、深く掘り下げることはほとんどありません。基本的には 'bindings'ですが、コンポーネントの代わりにコンポーネントディレクティブで直接解読されていますが、アイデアは非常に似ています。 、https://www.bennadel.com/blog/2969-passing-ngmodelcontroller-into-a-component-directive-controller-in-angularjs.htm) –
はい、私はディレクティブでそれを見ましたが、コンポーネントでは特定の角度成分の方法ですが、そうではありません。そして、はい、バインディングについてはすべてです。私を助けてくれてありがとう – FacundoGFlores