我想在元素中添加自定义目录,该脚本是从脚本添加的运行时。
例如: <input type="number" my-focus = "focusField" >
,我正在从html添加'my-focus'指令。
我可以从JavaScript添加此指令,因为我的元素是动态添加的,我想在该元素上添加焦点。
答案 0 :(得分:2)
您可以使用$compile
将HTML字符串或DOM编译到模板中并生成模板函数,然后可以将其用于将范围和模板链接在一起。
这是一个例子
$scope.html = $compile('<a ng-click="click()" href="#">Click me</a>')($scope);
(function(angular) {
'use strict';
angular.module('myApp', [])
.controller('Controller', ['$scope','$compile',
function($scope, $compile) {
$scope.html = $compile('<a ng-click="click()" href="#">Click me</a>')($scope);
angular.element(document.querySelector('#x')).append($scope.html);
$scope.click = function() {
console.log('Yahoooooooooooo')
}
}
]);
})(window.angular);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="Controller">
<div id="x">
</div>
</div>
</div>