我問了這個問題,但我提出的具體問題發生了巨大變化。如何根據條件實例化ng控制器
我有一段代碼:
<div ng-attr-controller="{{pings || 'PingsCtrl as pings' }}">
<h1 ng-click="pings.press()">asdf</h1>
</div>
此代碼注入到兩個HTML頁面。一頁已經呼叫PingsCtrl
。另一個沒有。我真的想保持這個代碼幹,我只想有一個上面的代碼引用。
如何在PingsCtrl
尚未實例化的情況下如何編寫上述代碼以生成ng-controller
。
這裏有兩個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)};
})
什麼問題,如何解決這一問題?
你可以把一個plunker或的jsfiddle之間的數據? – SoluableNonagon
考慮將常用功能置於**工廠服務**中。他們是單身人士,只能自動加載一次。見https://docs.angularjs.org/guide/services#creating-services – georgeawg
我會盡量在一起放一些東西。我發佈的代碼是所有需要的。 – jason328