【发布时间】:2016-10-09 18:14:57
【问题描述】:
我正在尝试构建具有 angularjs 组件的父视图(带有控制器)。父视图通过双向绑定将数据传递给组件(它是 Web 服务的结果,因此数据是 JSON 对象)。一部分数据再次从组件传递到另一个嵌套组件。 现在,当我通过文本字段更改嵌套组件中的数据时,会发生以下异常: angular.js:13424 错误:[$compile:nonassign] 与指令“catAuswertungsparameterBearbeitung”一起使用的属性“attributDetailDto”中的表达式“未定义”不可分配!
组件的JS
angular.module('catApp').component('catAuswertungsparameterBearbeitung', {
controller : CatAuswertungsparameterBearbeitungController,
templateUrl : 'resources/js/konfiguration/auswertungsparameter/catAuswertungsparameterBearbeitung.html',
bindings : {
attributDetailDto : '='
}
});
function CatAuswertungsparameterBearbeitungController($translate) {
var ctrl = this;
}
组件的 HTML
...
<cat-textfeld min=1 max=50 wert="$ctrl.attributDetailDto.bezeichnung"></cat-textfeld>
...
嵌套组件cat-textfeld的JS
angular.module('catApp').component('catTextfeld', {
controller : MinMaxTextfeldController,
templateUrl : 'resources/js/fwk/catTextfeld.html',
bindings : {
wert : '=',
min : '@',
max : '@'
}
});
function MinMaxTextfeldController($translate) {
var ctrl = this;
嵌套组件的 HTML
<input type="text" class="textfeld" name="textfeld" ng-model="$ctrl.wert">
你有什么想法吗?非常感谢:)
【问题讨论】:
标签: angularjs binding nested components