我问了这个问题,但我问的具体问题发生了巨大变化。
我有一段代码:
<div ng-attr-controller="{{pings || 'PingsCtrl as pings' }}">
<h1 ng-click="pings.press()">asdf</h1>
</div>
这段代码被注入到两个 html 页面中。一页已经调用PingsCtrl
。另一个没有。我真的很想保持这段代码干燥,我只想有一个上面代码的参考。
ng-controller
如果PingsCtrl
尚未实例化,我如何编写上面的代码来生成。
这是两个html页面。
HTML
// First page
<html ng-app="coolApp">
<div ng-controller="PingsCtrl as pings">
<div ng-attr-controller="{{pings || 'PingsCtrl as pings' }}">
<h1 ng-click="pings.press()">asdf</h1>
</div>
</div>
</html>
// Second page
<html ng-app="coolApp">
<div ng-attr-controller="{{pings || 'PingsCtrl as pings' }}">
<h1 ng-click="pings.press()">asdf</h1>
</div>
</html>
Javascript在这里:
angular.module('coolApp', [])
.controller('PingsCtrl', function() {
var vm = this;
vm.press = function() {alert(123)};
})
出了什么问题,我该如何解决?