Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用ES6和x27测试角度1.x组件;t使用$componentController加载绑定_Angularjs_Testing_Ecmascript 6_Components - Fatal编程技术网

Angularjs 使用ES6和x27测试角度1.x组件;t使用$componentController加载绑定

Angularjs 使用ES6和x27测试角度1.x组件;t使用$componentController加载绑定,angularjs,testing,ecmascript-6,components,Angularjs,Testing,Ecmascript 6,Components,我有以下代码 我的组件 class PaginationController{ page = 1 constructor() { console.log(this) // PaginationController {page: 1} } } export const PaginationComponent = { templateUrl: '/components/app/views/pagination.html', controller: P

我有以下代码

我的组件

class PaginationController{
    page = 1

    constructor() {
        console.log(this) // PaginationController {page: 1}
    }
}
export const PaginationComponent = {
  templateUrl: '/components/app/views/pagination.html',
  controller: PaginationController,
  controllerAs: '$ctrl',
  bindings: {
      data: '=',
      size: '<',
  }
}
import { PaginationComponent } from '../src/components/app/pagination'

describe("Pagination Controller", () => {

    let controller

    beforeEach(() => {
        angular
          .module("Test", [])
          .component('pagination', PaginationComponent)
    })

    beforeEach(window.module("Test"))

    beforeEach(inject(($componentController) => {
        controller = $componentController('pagination', null, {
            data: [],
            size: 10
        })
    }))

    it("change page", () => {
        console.log(controller)
    })
})
我希望控制器中的构造函数上的console.log打印
PaginationController{page:1,data:[],size:10}
,但是我得到
PaginationController{page:1}
,所以我假设绑定没有工作


任何人都可以帮助我理解为什么?

最后,这项工作执行
.constructor()
的方式如下:

beforeEach(inject(($componentController) => {
    controller = $componentController('pagination', null, {
        data: [],
        size: 10
    })
    controller.constructor()
}))
这里的问题是
.constructor
方法被调用了两次:
第一次是执行
$componentController
时,此时constructor方法中的绑定不可用,但如果执行
controller.constructor()
则绑定可用。所以,我还是不明白为什么

最后,这项工作执行
.constructor()
的方式如下:

beforeEach(inject(($componentController) => {
    controller = $componentController('pagination', null, {
        data: [],
        size: 10
    })
    controller.constructor()
}))
这里的问题是
.constructor
方法被调用了两次: 第一次是执行
$componentController
时,此时constructor方法中的绑定不可用,但如果执行
controller.constructor()
则绑定可用。所以,我还是不明白为什么