How to get around Error: $compile:nonassign Non-Assignable Expression in angular 1.5 component
How to get around Error: $compile:nonassign Non-Assignable Expression in angular 1.5 component
所以我对组件、绑定和 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>
我觉得我在这里遗漏了一些非常明显的东西。任何帮助将不胜感激。
该错误意味着您正试图通过双向绑定为表达式 []
赋值。
https://docs.angularjs.org/error/$compile/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"
})
所以我对组件、绑定和 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>
我觉得我在这里遗漏了一些非常明显的东西。任何帮助将不胜感激。
该错误意味着您正试图通过双向绑定为表达式 []
赋值。
https://docs.angularjs.org/error/$compile/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"
})