我不太了解ng-controller如何与Angular配合使用:
我有documentSearch.component.html :(这只是链接到控制器的部分)
<div ng-controller=mainCtrl>
<div mass-autocomplete>
<input ng-model="dirty.value"
mass-autocomplete-item="autocomplete_options">
</div>
</div>
还有documentSearch.component.ts:
@Component({
selector: 'app-documentsearch',
templateUrl: './document-search.component.html',
styleUrls: ['./document-search.component.css']
})
export class DocumentSearchComponent implements OnInit {
constructor() {...}
ngOnInit(){...}
someFunction(...){...}
}
我想尝试的代码是这样的:
var app = angular.module('app', ['ngSanitize', 'MassAutoComplete']);
app.controller('mainCtrl', function ($scope, $sce, $q) {
$scope.dirty = {};
var states = ['Alabama', 'Alaska', 'California', /* ... */ ];
function suggest_state(term) {
var q = term.toLowerCase().trim();
var results = [];
// Find first 10 states that start with `term`.
for (var i = 0; i < states.length && results.length < 10; i++) {
var state = states[i];
if (state.toLowerCase().indexOf(q) === 0)
results.push({ label: state, value: state });
}
return results;
}
$scope.autocomplete_options = {
suggest: suggest_state
};
});
但是我不知道如何使用它。我是否必须在其上使用它documentSearch.component.ts
,是否必须为控制器创建另一个类?
我必须对此Typescript代码进行哪些更改?
谢谢
您正在混合AngularJS(Angular 1.x)和Angular(Angular 2-6)代码。
该documentSearch.component.ts文件是现代角,但documentSearch.component.html是AngularJS模板。您想尝试的代码也是AngularJS。
虽然这两个框架是由同一团队开发的,但它们在许多层次上都完全不同。例如,Angular专注于组件,而在AngularJS中,控制器(通常)与模板分离。模板语法也完全不同,虽然Angular基于TypeScript本身,但AngularJS总体上仅对TypeScript提供中等支持。
总结:选择一个框架并坚持下去。您无法轻松地将AngularJS代码集成到Angular应用程序中,反之亦然。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句