Angular 1.6 控制器内部的绑定
Angular 1.6 bindings inside controller
我试图通过绑定将一些参数传递给我的组件,但不幸的是我在我的控制器中使用这些参数时运气不佳,这是我的代码:
angular.module('project1').component('menu', {
templateUrl: '/static/js/templates/menu.template.html',
bindings: {
rid: '@'
},
controller: ['Restaurant', function RestaurantListController(Restaurant) {
console.log(this.rid);
console.log(this);
this.restaurant = Restaurant.get({restaurantId: this.rid});
}]
});
HTML 分量:
<menu rid="1"></menu>
有趣的是,我可以访问模板中的参数,当我执行 2 个控制台日志时,第一个未定义,但在第二个中我可以看到 rid 变量...所以,我真的不明白我错过了什么。
使用 angular 1.6,您的绑定将在方法 $onInit 上准备就绪,而不是之前。
如果您需要重新启用自动绑定
https://toddmotto.com/angular-1-6-is-here#re-enabling-auto-bindings
如果有人仍在寻找解决方案,请使用 angular 提供的 $onInit 方法。
this.$onInit = function () {
$http.get(`/api/v1/projects`).then((res) => {
$scope.projects = res.data;
}, (err) => {
$scope.error = err
})
};
我试图通过绑定将一些参数传递给我的组件,但不幸的是我在我的控制器中使用这些参数时运气不佳,这是我的代码:
angular.module('project1').component('menu', {
templateUrl: '/static/js/templates/menu.template.html',
bindings: {
rid: '@'
},
controller: ['Restaurant', function RestaurantListController(Restaurant) {
console.log(this.rid);
console.log(this);
this.restaurant = Restaurant.get({restaurantId: this.rid});
}]
});
HTML 分量:
<menu rid="1"></menu>
有趣的是,我可以访问模板中的参数,当我执行 2 个控制台日志时,第一个未定义,但在第二个中我可以看到 rid 变量...所以,我真的不明白我错过了什么。
使用 angular 1.6,您的绑定将在方法 $onInit 上准备就绪,而不是之前。
如果您需要重新启用自动绑定 https://toddmotto.com/angular-1-6-is-here#re-enabling-auto-bindings
如果有人仍在寻找解决方案,请使用 angular 提供的 $onInit 方法。
this.$onInit = function () {
$http.get(`/api/v1/projects`).then((res) => {
$scope.projects = res.data;
}, (err) => {
$scope.error = err
})
};