この最初のオフこれは本当に悪い考えのようです。それが既存のノックアウトアプリケーションの場合、なぜあなたは角度を追加しようとしていますか?ノックアウトにもコンポーネントがあるので、ノックアウトコンポーネントを使うことができます。そうでなければ、私はanglejsとknockoutjsがお互いに打ち砕かれることを確信しています。
とにかく。目に見えるバインディングでは動作するように見えましたが、ifバインディングでは動作しませんでした。ここplunkrです。 https://plnkr.co/edit/AvWH2JEF2DEUIWkYBQNy?p=preview
<!DOCTYPE html>
<html lang="en" ng-app="myApp" class="no-js">
<head>
<title>My AngularJS App</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<p>show component: <input type="checkbox" data-bind="checked: something" /></p>
<div ng-app="myApp">
<div data-bind="visible: something">
<hello-world name="world"> </hello-world>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://code.angularjs.org/1.5.5/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="script.js"></script>
<script>
function viewModel() {
var self = this;
this.something = ko.observable(true);
}
var vm = new viewModel();
(function($) {
ko.applyBindings(vm); //bind the knockout model
})(jQuery);
</script>
</body>
</html>
と角度成分。
(function(){
angular.module("myApp", [])
.component("helloWorld",{
template: "Hello {{vm.name}}!",
bindings: { name: '@' },
controller: ('helloWorldController',helloWorldController),
controllerAs: 'vm'
})
function helloWorldController(){
/* jshint validthis: true */
var vm = this;
}
})();
"ノックアウトテンプレートからAngularJSコンポーネントを起動しようとしています*"なぜですか? – adiga
私の角型アプリケーションは、既存のノックアウトアプリケーションの上に構築されています。私たちは時間の制約のために一緒に働くように設定しました –
@VarunG私は言わなければならない、それは時間効率が良いようには聞こえません。 –