所以我对组件,绑定和Angular 2范例都比较陌生。我想让我的Angular 1.3应用程序准备好转移,所以我一直在尝试采用新的组件指令。
我无法通过不可分配的绑定错误!
这是我包含组件的地方:
<schedule currentSchedule="[]" class="panel"></schedule>
组件本身:
app.component('schedule', {
bindings: {
currentSchedule: "="
},
controllerAs: 'SchedCtrl',
controller: function(Schedules)
{
var scope = this
Schedules.refresh()
.then(function(result) {
scope.currentSchedule = result
})
},
templateUrl: "templates/schedule.html"
})
组件模板:
<div ng-repeat="apt in SchedCtrl.currentSchedule | orderBy: 'App_DtTm'">
{{apt.name}}
</div>
我觉得我错过了一些非常明显的东西。任何帮助都将非常感激。
答案 0 :(得分:0)
错误意味着您正尝试通过双向绑定为表达式[]
分配值。
https://docs.angularjs.org/error/ $编译/ nonassign
如果您确实需要双向绑定,请使用父作用域的属性。
<schedule currentSchedule="parentCtrl.currentSchedule" class="panel"></schedule>
如果您不需要双向绑定,请使用<
代替=
,并将初始计划和当前计划分开。
app.component('schedule', {
bindings: {
initialSchedule: "<"
},
controllerAs: 'SchedCtrl',
controller: function(Schedules)
{
var scope = this
scope.currentSchedule = scope.initialSchedule
Schedules.refresh()
.then(function(result) {
scope.currentSchedule = result
})
},
templateUrl: "templates/schedule.html"
})