单位测试 – 错误:不可分配的模型表达式:未定义

我试图为一个指令编写测试,所以我用$编译手工构造它。 (是的,我知道我可以使用e2e测试,但在这种情况下,我想测试一些DOM独立的逻辑,所以我使用单元测试方法。)

我有一个我与范围绑定的字段:{foo:’=’}。当我尝试根据指令的范围设置它,我得到以下错误

Error: Non-assignable model expression: undefined (directive: foo)
    at Error (<anonymous>)
    at $get.parentSet (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4146:25)
    at Object.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4160:23)
    at Object.$get.Scope.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:7693:38)
    at Object.$get.Scope.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:7894:24)
    at SNAKE_CASE_REGEXP (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:930:13)
    at Object.invoke (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:2788:25)
    at bootstrap (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:928:12)
    at angularInit (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:904:5)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:14397:5

转载于fiddle

在你的指令中你有:
scope: {
   bar: '='
}

这意味着它将查找属性名称“bar”的指令元素(< div foo>< / div>),并在指令中指定一个双向数据绑定,并为该属性指定对象。所以,首先你需要添加一个bar属性,然后你需要在你的作用域中设置一些属性值的名称。见http://jsfiddle.net/u4BTu/6/

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...