观察Angular 1.5.3组件中的绑定更改?

时间:2016-04-23 05:45:30

标签: javascript angularjs angularjs-directive

我有一个控制器,可以获取数据以填充大型下拉列表:

MySrvc.getData()
    .then(function (response) {
        $scope.someData = response.data;
    });

我还有一个实例化并定义为此类的组件。

<my-component foo='someData'></my-component>

angular.module('mod').component('myComponent', {
    bindings: {
        foo: '<'
    },
    controller: function() {

    }
});

ngOptions表示您必须设置ngModel。我希望数组的第一个元素是选定的对象。 this.selectedElement = this.foo[0]。问题是,在我知道绑定已更新之前,我实际上无法编写这行代码。

我无法在组件中使用scope.$watchthis.$onChanges似乎也无法正常工作。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您可以使用ng-if

解决此问题
<my-component ng-if="someData" foo='someData'></my-component>

如果在元素中添加ng-if,则指令在数据到来之后呈现

答案 1 :(得分:1)

如果您想在printf "PASSED TESTS: ($passed_tests)\n\n" for i in "${passed_tests_arr[@]}" do printf "✓ " i=${i%.*} i=${i#*/ } echo "$i" done 上使用观察者,可以使用this.foo功能。它可以接受函数作为其第一个参数,因此您可以观察特定变量。

尝试:

$scope.$watch

答案 2 :(得分:1)

您必须至少使用角度1.5.3才能使用$onChanges。但是你可以像那样使用它

controller: function() {
     this.$onChanges = function(){
         // your stuff
     }
}