Sar*_*n S 2 angularjs mithril.js
我是Mithril JS框架的新手,并试图将Mitril视图与angularJS集成.有人曾尝试过这个吗?
我想检查如何绑定角度控制器方法以单击在Mitril中创建的元素的事件.
我通过这个代码得到了这个
var e = document.getElementById('elementId');
var scope = angular.element(e).scope();
m("a[href='javascript:;']", {
onclick : scope.someMethod
}, "Test");
Run Code Online (Sandbox Code Playgroud)
但我不确定这是否是正确的方法.
Leo*_*rie 11
我会说这不是惯用的角度代码.
更惯用的方法可能是在Angular端使用指令,并将事件调度程序控制器传递给mithril端的视图:
//mithril code
var testWidget = function(ctrl) {
return m("a[href='javascript:;']", {onclick: ctrl.onclick}, "Test")
}
//angular code
angular.module("foo").directive("testWidget", function() {
return {
restrict: "E",
link: function($scope, element, attrs) {
var template = testWidget({
onclick: function() {
$scope.$apply(function() {
$scope.$eval(attrs.onclick)
})
}
})
m.render(element, template)
}
}
})
angular.module("foo").controller("MyCtrl", function() {
this.doStuff = function() {
console.log("called doStuff")
}
})
<div ng-controller="MyCtrl as c">
<test-widget onclick="c.doStuff()"></test-widget>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2136 次 |
| 最近记录: |