Angularjs 角度1.6带装订的字体错误

Angularjs 角度1.6带装订的字体错误,angularjs,Angularjs,使用angular新建并获取此错误 未捕获的TypeError:无法使用“in”运算符在子包中搜索“$ctrl” 我有一个父组件和一个子组件,在父组件上有一个函数,用于过滤一些JSON以获得特定值。我陷入了在子控制器中要做什么的困境,所以我可以调用这个父函数,但我甚至还没有开始想从子模板中调用它需要做什么。这是我的 var myApp = angular.module('subPackages', ['ngMaterial', 'ngMessages']); (function (app)

使用angular新建并获取此错误

未捕获的TypeError:无法使用“in”运算符在子包中搜索“$ctrl”

我有一个父组件和一个子组件,在父组件上有一个函数,用于过滤一些JSON以获得特定值。我陷入了在子控制器中要做什么的困境,所以我可以调用这个父函数,但我甚至还没有开始想从子模板中调用它需要做什么。这是我的

var myApp = angular.module('subPackages', ['ngMaterial', 'ngMessages']);


(function (app) {
    'use strict';

    app.component('appComponent', {
        templateUrl: '../subpackages/templates/app-template.html',
        controller: subAppController
    });


    app.component('perfList', {
        templateUrl: '../subpackages/templates/perf-list.templateV3.html',
        controller: PerfListController,
        bindings: {
            contentJson: '<',
            getGlobalContent: '&'
        },
    });

})(myApp);

解决了。在子模板中调用函数时出错。最终使用了

<span>
   {{$ctrl.globalContent({module: "subpackage", item:"mobileNavText"})}}
</span>

{{$ctrl.globalContent({模块:“子包”,项目:“mobileNavText”}}

谢谢你对这些课程的建议,我会修改它们的

有点困惑,如果您只是在init方法中调用它,为什么需要在子控制器中使用该函数?为什么不把数据传给它呢?对不起,我没有跟踪你。你的意思是,不要将函数放到子组件中,而是从子模板中的父组件调用函数?再一次,我很抱歉。这方面非常新。我想知道您是否需要父控制器和子控制器中的函数。您是否正在对父函数和子函数中的函数数据进行任何处理?不,我没有。只是两个模板都使用的静态数据。数据没有更新。数据是this.globalContentJson。我只需要能够过滤到一个特定的值。例如,{{我需要module=subpackage和item=mobileNavText}中的content值避免在控制器中进行DOM操作。使用来动态设置类。还要考虑使用隐藏元素。
<div class="container-fluid">
    <div class="cs-app-left row">
        <div class="pull-left">
            <label>{{$ctrl.contentJson.page_title}}</label>
        </div>
        <div class="cs-app-right pull-right">          
            <cart-summary
             content-json="$ctrl.contentJson">

            </cart-summary>
        </div>  
    </div>

    <div class="cs-app-main row">
        <div>
            <perf-list 
                       ng-if="$ctrl.currentStep == 1" 
                       content-json="$ctrl.contentJson"
                       get-global-content="$ctrl.getGlobalContent(module,item)"
                    >

            </perf-list>
        </div>
    </div>
</div>
function PerfListController() {
this.$onInit = function () {
    this.content = this.contentJson;
    this.globalContent = this.getGlobalContent;

    var cartAddEl = angular.element(document.querySelector('.cs-cartadd'));
    var redirectEl = angular.element(document.querySelector('.cs-redirect'));

    if (this.content.cart_method == "cartAdd") {
        cartAddEl.removeClass('hidden');
        redirectEl.addClass('hidden');
    } else {
        redirectEl.removeClass('hidden');
        cartAddEl.addClass('hidden');
    }
    this.cart_method = this.content.cart_method;

    this.test = this.globalContent("subpackage", "mobileNavText");
};
//Other Code Here
}
<span>
   {{$ctrl.globalContent({module: "subpackage", item:"mobileNavText"})}}
</span>