我正在试图动态构建组件并插入DOM中。如果我的组件有'&',那么一切都可以除之外结合。
让我们说组件'my-cmp'具有以下绑定
bindings : {
myBinding: '@',
myFn:'&'
}
.........所以现在我动态创建组件
let newScope = $rootScope.$new();
element = angular.element('<my-cmp my-binding="{{test}}"></my-cmp>');
newScope.test = 'this works';
element = $compile(element)(newScope);
这很好用,没问题。 (我对'&lt;'绑定)也没有问题
但是一旦我尝试添加'&amp;'绑定函数,它打破了尝试编译。
let newScope = $rootScope.$new();
element = angular.element('<my-cmp my-fn="{{myFunction}}" my-binding="{{test}}"></my-cmp>');
newScope.test = 'this works';
newScope.myFunction = function(){
return 'no workie';
}
element = $compile(element)(newScope);
我得到的错误是: 未捕获错误:[$ parse:syntax]语法错误:表达式[{{myFunction}}]第2列的令牌'{'无效键,从[{myFunction}}开始。]
我知道我显然需要解析'&amp;'绑定不同但我不知道如何。希望有人可以提供帮助! 感谢