我有這樣的模式:Angular2類沒有暴露功能
(function(app) {
app.productLine =
ng.core.Component({
selector: 'product-line',
templateUrl: 'templates/sales-product.html',
})
.Class({
constructor: function() {
this.products = [new app.product('101010101010101', '1', '19.99')];
},
addLine: function() {
this.products.push(new app.product('101010101010101', '1', '19.99'));
}
});
})(window.app || (window.app = {}));
(function(app) {
app.product = function (upc, quantity, price) {
this.upc = upc;
this.quantity = quantity;
this.price = price;
return this;
}
})(window.app || (window.app = {}));
但是,我想不出如何公開addLine()
這樣我就可以在其他地方調用它。
記錄PRODUCTLINE只能顯示構造:
console.log(app.productLine);
function app.productLine<.constructor()
,並呼籲app.productLine.addLine()
給TypeError: app.productLine.addLine is not a function.
編輯:
我發現,添加addLine
功能app.productLine
直接做工作。當然,this
的範圍會發生變化,所以需要在更明顯的位置引用構造函數的結果。您可以運行app.productLine.add(123,456,789);
並更新型號。
但是,該視圖不會立即更新。我認爲有必要以某種方式觸發更新,但使用雙向數據綁定時,如果使用UI更新模型,則會顯示所有更新。
哇,我甚至沒有在文檔中找到「輸入」。我一定錯過了。很高興我能幫你打破15k - 恭喜! – Josiah