でのバインディングプロパティを必須にすることができます。どのように私は次のコンポーネントがある場合はangularJsコンポーネント
angular.module('myApp').component('myComponent', {
templateUrl: 'myComponent.html',
bindings: {
myPropOne: '<',
myPropTwo: '<'
}
});
以降のを、私はこのようなmyPropTwo
を通過せずにHTMLを経由してコンポーネントをインスタンス化:
<my-component my-prop-one="vm.prop1"></my-component>
myPropTwoが渡されなかったため、角度に失敗することがありますか?はい、私はのような何かを行うことができます知っている:つまり
angular.module('myApp').component('myComponent', {
templateUrl: 'myComponent.html',
bindings: {
myPropOne: '<',
myPropTwo: '<'
},
controller: function() {
this.$onInit = function() {
if(this.myPropTwo === undefined) {
throw new Error('myPropTwo must be passed');
}
}
}
});
は、私は手動でそれを行うことなく、必須myPropTwo
を作ることができます。これを行うネイティブな方法はありますか?
編集:
@FrankModicaが正しいことのように思えます。それはあまりにも悪いです:(...ここでうまくいけば@FrankModicaの答えに基づいて、いくつかの理解を与えることをjsFiddleの例である: https://jsfiddle.net/cafesanu/5L19t3jx/2/