我试图通过绑定将一些参数传递给我的组件,但不幸的是我没有运气在我的控制器中使用这些参数,这是我的代码:
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变量...所以,我真的不喜欢不明白我错过了什么。
答案 0 :(得分:8)
使用angular 1.6,您的绑定将在$ onInit方法上准备就绪,而不是之前。
如果您需要重新启用自动绑定 https://toddmotto.com/angular-1-6-is-here#re-enabling-auto-bindings
答案 1 :(得分:0)
如果仍在搜索解决方案,请使用angular提供的$ onInit方法。
this.$onInit = function () {
$http.get(`/api/v1/projects`).then((res) => {
$scope.projects = res.data;
}, (err) => {
$scope.error = err
})
};