Javascript 在JQuery更新之后,ng transclude不再工作
这是我在最新JQuery更新后开始遇到的一个奇怪问题 我们使用angularjsJavascript 在JQuery更新之后,ng transclude不再工作,javascript,jquery,angularjs,angularjs-ng-transclude,Javascript,Jquery,Angularjs,Angularjs Ng Transclude,这是我在最新JQuery更新后开始遇到的一个奇怪问题 我们使用angularjs1.7.9in-out应用程序。我们有以下组件。它基本上是一个日期字段包装器 export class DateFieldComponent { ... transclude: any = { iconContent: "?iconContent", }; template: string = ` <div> <span ng-click=
1.7.9
in-out应用程序。我们有以下组件。它基本上是一个日期字段包装器
export class DateFieldComponent {
...
transclude: any = {
iconContent: "?iconContent",
};
template: string = `
<div>
<span
ng-click="$ctrl.focusInput()"
ng-transclude="iconContent"
/>
<input
...
></input>
</div>
`;
}
angular.module("App").component("dateField", new DateFieldComponent());
所以如果我去掉这条线,一切都正常。向后添加此行会使组件无法正确渲染
我知道JQuery更新对angularjs没有影响,因为angularjs使用自己的JQuery lite
版本。另外据我所知,ng transclude
与JQuery
无关
我还注意到,在这次更新之后,我们在应用程序中使用ng transclude的所有地方都存在类似的问题
我错过了什么?任何线索都将不胜感激。事实证明,我们在标记中犯了一个简单的错误,JQuery 3.5.0版本不再适用 这就是罪魁祸首
<span
ng-click="$ctrl.focusInput()"
ng-transclude="iconContent"
/>
事实证明,我们在标记中犯了一个简单的错误,jQuery3.5.0版本不再适用 这就是罪魁祸首
<span
ng-click="$ctrl.focusInput()"
ng-transclude="iconContent"
/>
AngularJS只有在jQuery之前加载时才使用它的JQLite。否则,它将使用页面上全局可用的jQuery。在一个不相关的注释中,编写
transclude:any={iconContent:“?iconContent”,}代码>非常糟糕;写入transclude={iconContent:“?iconContent”,}
或者停止使用TypeScriptAngularJS,如果它是在jQuery之前加载的,那么它只会使用它的JQLite。否则,它将使用页面上全局可用的jQuery。在一个不相关的注释中,编写transclude:any={iconContent:“?iconContent”,}代码>非常糟糕;写入transclude={iconContent:“?iconContent”,}代码>或停止使用TypeScript
<span
ng-click="$ctrl.focusInput()"
ng-transclude="iconContent">
<span/>